Почему файл может быть частично загружен?
Почему файл может быть частично загружен?
Я улучшаю обработку ошибок в моей загрузке файла PHP script и пытаюсь выяснить, как правильно обрабатывать UPLOAD_ERR_PARTIAL.
Должен ли я попросить пользователя снова попробовать загрузить файл или сообщить им, что существует более серьезная проблема, которая мешает им загружать возможно законный файл?
Ответы
Ответ 1
Почему файл может быть частично закачанный?
Это обычно вызвано отменой загрузки пользователем.
Должен ли я попросить пользователя попробовать снова загрузить файл, или я должен сообщите им, что есть еще серьезная проблема, которая препятствует их от загрузки возможно законный файл?
Вы должны попросить их повторить попытку, и если проблемы продолжат обращаться к владельцам сайтов, включая как можно больше деталей.
Ответ 2
UPLOAD_ERR_PARTIAL задается, когда граница mime не найдена после данных файла. Возможной причиной этого является то, что загрузка была отменена пользователем (нажата ESC и т.д.).
Я думаю, это достаточно, чтобы сообщить пользователю, что файл только частично загружен, и повторная попытка устранит проблему.
Ответ 3
Это старый пост, но у меня была случайная проблема с UPLOAD_ERR_PARTIAL и отправкой моего решения.
Проблема в том, что после загрузки 2/3 я получил ошибку UPLOAD_ERR_PARTIAL, без каких-либо прерываний со стороны клиента.
Моя проблема связана с сервером Keep-Alive.
Я решил это, вставив в конец PHP script для загрузки
header ("Connection: close");
что заставляет замыкание соединения. Это решило мою проблему.
Я надеюсь, что кто-то может помочь.
Спасибо этому LINK
Ответ 4
Ну, загрузка файла может быть прервана:
Недостаток места назначения
Прерывание соединения
Файл с повреждением
Неверное имя
Неверное расширение
и т.д...
Самое лучшее, что вы можете сделать, это проверить и защитить процесс загрузки с помощью проверок перед отправкой файла на сервер...
В первый раз, когда я сделал загрузку файла script, я использовал 1 строку кода, теперь тот же самый script выглядит как веб-страница;)
EDITED (пример для управления расширением и размером файла):
if ((
($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...
}
Ответ 5
Это может помочь некоторым людям, но у меня была та же проблема.
Моим решением было удалить libapache2-mod-php5filter и заменить его на классический libapache2-mod-php5
Ответ 6
У меня такая же проблема и была связана с пакетом libapache2-mod-php5filter, я удаляю p и проблему.
Надеюсь, кто-то может помочь.
Ответ 7
У меня была эта проблема сегодня, когда я работал над загрузкой ajax файла на моем локальном компьютере, пока не понял (через час), что этот же файл (CSV) был открыт в другой программе (MS Excel). После того, как я закрыл соответствующую программу, все вернулось в норму.
Надеюсь, это поможет !