Почему файл может быть частично загружен?
Я улучшаю обработку ошибок в своем сценарии загрузки PHP-файлов и пытаюсь выяснить, как правильно обрабатывать UPLOAD_ERR_PARTIAL.
Должен ли я попросить пользователя снова попробовать загрузить файл или сообщить им, что существует более серьезная проблема, которая мешает им загружать возможно законный файл?
Почему файл может быть частично загружен?
Обычно это вызвано отменой загрузки пользователем.
Должен ли я попросить пользователя снова попробовать загрузить файл или сообщить им, что существует более серьезная проблема, которая мешает им загружать возможно законный файл?
Вы должны попросить их повторить попытку, и если проблемы будут продолжаться, свяжитесь с владельцами сайтов, включая как можно больше деталей.
UPLOAD_ERR_PARTIAL задается, когда граница mime не найдена после данных файла. Возможной причиной этого является то, что загрузка была отменена пользователем (нажата ESC и т. Д.).
Я думаю, что достаточно сообщить пользователю, что файл загружен только частично, и повторная попытка устранит проблему.
Это старый пост, но у меня возникла случайная проблема UPLOAD_ERR_PARTIAL и отправьте мое решение.
Проблема в том, что после загрузки 2/3 я получил ошибку UPLOAD_ERR_PARTIAL, без каких-либо прерываний со стороны клиента.
Моя проблема была связана с сервером Keep-Alive.
Я решил это, вставив в конец скрипта PHP для загрузки
header ("Connection: close");
что заставляет замыкание соединения. Это решило мою проблему.
Я надеюсь, что кто-то может помочь.
Благодаря этой LINK
Ну, загрузка файла может быть прервана:
Вне места назначения
Прерывание соединения
Файл с повреждением
Неправильное имя
Неправильное расширение
и т.д…
Лучшее, что вы можете сделать, это проверить и защитить процесс загрузки с помощью проверок перед отправкой файла на сервер …
В первый раз, когда я создал сценарий загрузки файлов, я использовал 1 строку кода, теперь тот же скрипт похож на веб-страницу;)
EDITED (пример для управления расширением и размером файла):
если ((
($file_up["type"] == "image/gif") || ($file_up["type"] == "image/jpeg") || ($file_up["type"] == "image/jpg") || ($file_up["type"] == "image/pjpeg") || ($file_up["type"] == "image/bmp") || ($file_up["type"] == "image/tiff") || ($file_up["type"] == "image/png")) && ($file_up["size"] < 1050000)) { code if all ok... }
Это может помочь некоторым людям, но у меня была та же проблема. Моим решением было удалить libapache2-mod-php5filter и заменить его на классический libapache2-mod-php5
У меня такая же проблема и была связана с пакетом libapache2-mod-php5filter, я удаляю p и проблему. Я надеюсь, что кто-то может помочь.