Я отправляю один файл из формы html5, и PHP хочет перевести фильм в определенный каталог. Move_uploaded_file выдает ошибку 8, что означает неопределенно UPLOAD_ERR_EXTENSION.
Сервер Ubuntu работает под управлением PHP 7.2, без расширения Suhosin . Я уже проверил файл apache error.log, но не нашел никакой записи, касающейся операции.
Прежде, чем я перешел на move_uploaded_file, я имел дело с командой копирования COPY (...), которая также вызвалаошибка, поэтому я узнал, что move_uploaded_file является методом выбора.
Результаты моих проверок до сих пор:
print_r($_FILES);
Array ( [customFile] => Array ( [name] => Array ( [0] => Logo 011.jpg ) [type] => Array ( [0] => image/jpeg ) [tmp_name] => Array ( [0] => /tmp/phpJVODjF ) [error] => Array ( [0] => 0 ) [size] => Array ( [0] => 210813 ) ) )
Файл должен быть перемещен в: / home / csitestore / images /25
Разрешения для этого каталога 777, поэтому полный доступ для всех, чтобы убедиться, что это не проблема: drwxrwxrwx 2 www-data www-data 4096 Okt 4 09:15 25
PHP.ini говорит:
post_max_size = 99M
file_uploads = On
upload_max_filesize = 99M
max_file_uploads = 20
max_execution_time = 90
max_input_time = 90
memory_limit = 512M
Но файл, который я пытался загрузить, имеет размер всего около 210 КБ, поэтому я думаю, что ограничения не дают никакого эффекта.
Как получить более подробное описание ошибки «UPLOAD_ERR_EXTENSION»? Или как мне решить эту проблему?
Мой тег формы из файла html:
<form action="send_data.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
Код из send_data.php для загрузки и перемещения файла:
if(!is_dir("/home/csitestore/images/25")){
if (!@mkdir("/home/csitestore/images/25")){
$error = error_get_last();
echo $error['message'];
} else {
chmod("/home/csitestore/images/25", 0777);
}
}
$path = "/home/csitestore/images/25/test.jpg";
if(!move_uploaded_file($_FILES['customFile']['tmp_name'][0], $path)) --> [0] because I normally use this inside a loop but I am trying with just one file
{
$errors= error_get_last();
echo "Error: ".$errors['type']; = 8 => UPLOAD_ERR_EXTENSION
echo "<br />\n".$errors['message'];
}
Не знаю, как действовать сейчас.