обнаружение неудачных загрузок - PullRequest
1 голос
/ 28 июля 2010

Возможно ли в PHP определить, когда загрузка не удалась из-за размера файла.Я знаю о upload_max_filesize и post_max_size и установил их на то, что я хочу, но если пользователь не видит мой предел размера файла (который отображается красным) и загружает большой файл, он не отображает ошибку.просто занимает очень много времени.

У меня есть <input type="hidden" name="MAX_FILE_SIZE" value="20000000" />, который, как я думал, велел браузеру проверить перед отправкой, но, думаю, нет.(хотя бы на firefox)

Ответы [ 3 ]

5 голосов
/ 28 июля 2010
2 голосов
/ 28 июля 2010

Вы можете проверить upload_max_fillesize с помощью $ _FILES ['file' '] [' error '], но только если post_max_size не запущен. Во второй ситуации вы можете пометить каким-либо образом попытку отправки файла, например, добавив параметр к действию вашей формы, такой как & filesended = 1. И если вы видите, что filesended установлен, но глобальный массив $ _POST пуст, это означает, что пользователь достиг предела размера сообщения.

0 голосов
/ 28 июля 2010

Проблема здесь в следующем: PHP даже не имеет возможности начать работу до завершения загрузки; так что загрузка в любом случае займет «много времени», только после этого применяется upload_max_filesize.

Нет способа проверить размер файла до окончания загрузки - это на стороне клиента из JavaScript (и браузер не сделает этого за вас); Ваша лучшая ставка будет выглядеть как Uploadify - она ​​основана на Flash, и я считаю, что есть возможность проверить размер файла перед началом загрузки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...