На моем сайте есть страница, на которой пользователи могут загружать файлы вместе с новостями, которые они добавляют.Я разрешаю им загрузить одно изображение и один звуковой файл.Им не нужно добавлять файлы, если они этого не хотят, или они могут просто добавить один, если захотят.У меня проблема в том, что мой скрипт работает, только если пользователь выбирает оба файла.Если они выбирают ни одного, или только один, то скрипт выдает «Invalid File», так как не может найти файл, в котором он не был выбран.
Я пытался использовать:
if (isset($_FILES['filetoupload1'])) {
if (($_FILES["filetoupload1"]["type"] == "image/gif")
|| ($_FILES["filetoupload1"]["type"] == "image/jpeg")
|| ($_FILES["filetoupload1"]["type"] == "image/pjpeg")
|| ($_FILES["filetoupload1"]["type"] == "image/png")
|| ($_FILES["filetoupload1"]["type"] == "image/jpg")
) {
if ($_FILES["filetoupload1"]["error"] > 0) {
echo "Return Code: " . $_FILES["filetoupload1"]["error"] . "<br />";
} else {
if (file_exists("media/" . $_FILES["filetoupload1"]["name"])) {
echo $_FILES["filetoupload1"]["name"] . " already exists. ";
}
move_uploaded_file(
$_FILES["filetoupload1"]["tmp_name"],
"media/" . $_FILES["filetoupload1"]["name"]
);
}
} else {
echo "Invalid file";
}
}
if (isset($_FILES['filetoupload2'])) {
if ($_FILES["filetoupload2"]["type"] == "audio/mp3") {
if ($_FILES["filetoupload2"]["error"] > 0) {
echo "Return Code: " . $_FILES["filetoupload2"]["error"] . "<br />";
} else {
if (file_exists("media/" . $_FILES["filetoupload2"]["name"])) {
echo $_FILES["filetoupload2"]["name"] . " already exists. ";
}
move_uploaded_file(
$_FILES["filetoupload2"]["tmp_name"],
"media/" . $_FILES["filetoupload2"]["name"]
);
}
} else {
echo "Invalid file";
}
}
, а затем
if((isset($_FILES['filetoupload1'])) && (isset($_FILES['filetoupload2']))) { }
перед первым и вторым сценариями загрузки, если пользователь выбрал изображение и аудиофайл.Другими словами, он сделал это:
if filetoupload1 isset then run upload script that filters images.
if filetoupload2 isset then run upload script that filters audio.
if filetoupload1 AND filetoupload2 isset then run both upload scripts.
У меня это настроено так.Выше следует учитывать все комбинации загрузки файлов.право?но это не работает так ..
Теперь я понятия не имею, что делать.Вот сценарий загрузки аудио, изображение одно и то же:
Может кто-нибудь сказать мне, что я делаю не так, пожалуйста!