Почему move_uploaded_file завершается с ошибкой с неподходящим ioctl?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Почему move_uploaded_file завершается с ошибкой с неподходящим ioctl?

Сообщение Anonymous »

У меня очень странная проблема.
Я использую 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
}
}
Я не понимаю, почему использование print_r() помогает успешно переместить файл. Даже если я сделаю var_dump, это поможет. Если я просто выполню эхо, это не сработает.
Я бы не хотел использовать этот обходной путь для решения моей проблемы, потому что это не решение для меня. У кого-нибудь есть идеи, почему move_uploaded_file не работает? Может быть, можно что-то изменить в конфигурации php.ini?

Подробнее здесь: https://stackoverflow.com/questions/791 ... iate-ioctl
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»