Как загрузить файлы из формы на сервер и сохранить в новой папке

У меня возникают проблемы при попытке загрузить файлы из формы, создать новую папку и сохранить эти формы.

Мой код:

for($i=0; $i<count($_FILES['uploadfiles']['name']); $i++) {
$temp = explode(".", strtolower($_FILES['uploadfiles']["name"][$i]));
$extension = end($temp);
//var_dump($extension);
if ((($_FILES['uploadfiles']["type"][$i] == "image/pdf")
|| ($_FILES['uploadfiles']["type"][$i] == "image/jpeg")
|| ($_FILES['uploadfiles']["type"][$i] == "image/jpg")
|| ($_FILES['uploadfiles']["type"][$i] == "image/pjpeg")
|| ($_FILES['uploadfiles']["type"][$i] == "image/png")
|| ($_FILES['uploadfiles']["type"][$i] == "image/x-png"))
&& in_array($extension, $allowedExtensions)) {
if ($_FILES['uploadfiles']["error"][$i] > 0) {
echo "Return Code: " . $_FILES['uploadfiles']["error"][$i] . "<br>";
} else {
move_uploaded_file($_FILES['uploadfiles']["tmp_name"][$i],
$folder_destination . $_FILES['uploadfiles']["name"][$i]);
}
}
}

Я хотел бы создать папку или проверить, существует ли папка, и записать в нее файлы, отправленные через форму.

0

Решение

Перед циклом for () вы должны сделать:

if (!is_dir($folder_destination)) { mkdir($folder_destination,0777); }

Это создаст папку с глобальными правами на запись в случае, если она еще не существует.

1

Другие решения

Вы можете создать такую ​​папку, но убедитесь, что у вас есть разрешение на запись

if (!file_exists($folder_destination)) {
mkdir($folder_destination, 0777, true);
}

скопируйте туда свой файл вот так

move_uploaded_file($_FILES['uploadfiles']["tmp_name"][$i], $folder_destination . $_FILES['uploadfiles']["name"][$i]);
1

Судя по полученному вами предупреждению, я предполагаю, что проблема в том, что у вас нет разрешения на запись в папку, или папка не существует.

Ты можешь проверить CHMOD Функция для изменения прав или сделать это вручную на сервере.

0
По вопросам рекламы [email protected]