Я использую jQuery-File-Upload от blueimp для загрузки файлов. Я использую его уже много лет в Windows и Linux.
Недавно я использовал новый сервер (с AlmaLinux). Раньше я использовал PHP 5.6, а теперь на этом новом сервере использую PHP 7.4.
Когда я загружаю файл, я получаю это предупреждение:
move_uploaded_file(/path_to_webroot/img/image.jpg): не удалось открыть поток: неподходящий ioctl для устройства в /path_to_webroot/php/UploadHandler.php в строке 1079
Я пытался загрузить то же изображение с помощью очень простой формы загрузки (без использования jQuery-File-Upload), и move_uploaded_file прошел успешно, так что это не проблема с разрешением.
Теперь происходит странная вещь!
Я нашел обходной путь!
Код: Выделить всё
if ($uploaded_file && is_uploaded_file($uploaded_file)) {
// multipart/formdata uploads (POST method uploads)
if ($append_file) {
file_put_contents(
$file_path,
fopen($uploaded_file, 'r'),
FILE_APPEND
);
} else {
$toto = print_r($file_path, true); //Workaround: this line avoids to the next line to fail
move_uploaded_file($uploaded_file, $file_path); //this is the line failing
}
}
Я бы не хотел использовать этот обходной путь для решения моей проблемы, потому что это не решение для меня. У кого-нибудь есть идеи, почему move_uploaded_file не работает? Может быть, можно что-то изменить в конфигурации php.ini?
Подробнее здесь: https://stackoverflow.com/questions/791 ... iate-ioctl
Мобильная версия