Следующий код работает отлично на моем локальном хосте, но он показывает следующие ошибки на моем живом сервереmove_uploaded_file() работает на локальном хосте, но на сервере
Предупреждение: move_uploaded_file (.../добавления/76948893.jpeg) : не удалось не удалось открыть поток: нет такого файла или каталога
Предупреждение: move_uploaded_file(): не удается переместить '/ TMP/phppxvRs8' к '.../загрузки/76948893.jpeg'
Что это простое, оно принимает изображения на массиве ["pictures"], который происходит из html-формы и сохраняет каждое изображение в папке «.../uploads /» с использованием случайного числового имени в качестве имени файла и сохранения исходного расширения.
Кто-нибудь знает, как заставить его работать на моем сервере?
//Image Uploader
$images=[];
$directory = '.../uploads/';
foreach ($_FILES["pictures"]["error"] as $key => $error) {
$new_file_name = rand (10000000,99999999);
if ($error == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["pictures"]["tmp_name"][$key];
$name = $_FILES["pictures"]["name"][$key];
/* echo '<br>';
echo $directory.$new_file_name.".".substr($_FILES['pictures']['type'][$key],strpos($_FILES['pictures']['type'][$key], "/")+1);*/
if(move_uploaded_file($_FILES['pictures']['tmp_name'][$key],
$directory
.$new_file_name
.".".substr($_FILES['pictures']['type'][$key],strpos($_FILES['pictures']['type'][$key], "/")+1))) {
array_push($images,$new_file_name.".".substr($_FILES['pictures']['type'][$key],strpos($_FILES['pictures']['type'][$key], "/")+1));
$images_validator=true;
}else{
//Error
}
}
}
права на папку –
Что сказал @ Фред-и-и попробовал абсолютный путь вместо относительного пути. (Измените '$ directory' на' $ directory = getcwd(). 'Uploads /'; ') – Darren
плюс, вы захотите изменить' .../'на' ../ '2 точки не 3. –