[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проверка размера загружаемого файла
Arcoslov
Всем доброго времени.

Помогите, пожалуйста, разобраться с логикой проверки размера файла.
в php.ini у нас уже есть два параметра, которые задают максимально возможный размер загружаемого файла (upload_max_filesize) и максимально возможный объём данных, отправлемый методом post (post_max_size )

Если мы c html-формы методом $POST отправляем файл скрипту php, то там уже поздно проверять размер файла, ибо скрипт получает данные только после проверки вышеуказанных значений. То есть, Если размер файла превышает указанные значения в php.ini то наш скрипт не получит никакого файла, а php выдаст ворнинг что-то вроде

 PHP Warning:  POST Content-Length of 52421890 bytes exceeds the limit of 27262976 bytes in Unknown on line 0


Как архитектурно правильно отлавливать и обрабатывать большой размер файла до того, как php это сделает?
vital
как-нить так
<input type="file" id="myFile" />


$('#myFile').bind('change', function() {

alert(this.files[0].size);

});


_____________
"Нужно быть готовым прислушиваться к тем, кто может тебя чему-нибудь научить. Иначе ты никогда не вырастешь."

Откровенно я никому ниразу не нагрубил. А дать подзатыльник зарвавшемуся юнцу, так это и ему на пользу, и мне в удовольствие. © AllesKlar
Arcoslov
vital, то есть, без жаваскрипта никак?
Kusss
<input type="file" name="filename" />
$max_file_size = 1024*1024;
if($_FILES["filename"]["size"] > $max_file_size) {
echo 'Файл больше 1 мегабайта';
}
killer8080
Цитата (Arcoslov @ 14.12.2014 - 19:49)
vital, то есть, без жаваскрипта никак?
Цитата
Скрытое поле MAX_FILE_SIZE (значение необходимо указывать в байтах) должно предшествовать полю для выбора файла, и его значение является максимально допустимым размером принимаемого файла в PHP. Рекомендуется всегда использовать эту переменную, так как она предотвращает тревожное ожидание пользователей при передаче огромных файлов, только для того, чтобы узнать, что файл слишком большой и передача фактически не состоялась. Помните, обойти это ограничение на стороне браузера достаточно просто, следовательно, вы не должны полагаться на то, что все файлы большего размера будут блокированы при помощи этой возможности. Это по большей части удобная возможность для пользователей клиентской части вашего приложения. Тем не менее, настройки PHP (на сервере) касательно максимального размера обойти невозможно.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.