Зачем нужно указывать в форме MAX_FILE_SIZE?

Василий М.

Новичок
Я туплю. Поясните, зачем в мане приведен этот пример:

PHP:
<form enctype="multipart/form-data" action="__URL__" method="POST">
    <!-- Поле MAX_FILE_SIZE должно быть указано до поля загрузки файла -->
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
    <!-- Название элемента input определяет имя в массиве $_FILES -->
    Отправить этот файл: <input name="userfile" type="file" />
    <input type="submit" value="Send File" />
</form>
Я указал скрытое поле и MAX_FILE_SIZE и ...? Что должно произойти, если я пытаюсь загрузить файл бОльшим по размеру?
 

С.

Продвинутый новичок
Преполагалось, что порядочный браузер не даст загрузить файл более указанного размера. Но я не уверен, что это работает везде.
 

Василий М.

Новичок
С. я тоже об этом подумал.

Semen
ок

абсолютно не понимаю зачем нужна ошибка UPLOAD_ERR_FORM_SIZE. это все равно, что дать пользователю форму для загрузки файлов и ограничить размер файла выбором самого пользователя.
 

Semen

Семён
да похоже придумали как C. написал, только не доделали чтобы браузер без загрузки ошибку выдавал...
 

BRat

o_0
С. я тоже об этом подумал.

Semen
ок

абсолютно не понимаю зачем нужна ошибка UPLOAD_ERR_FORM_SIZE. это все равно, что дать пользователю форму для загрузки файлов и ограничить размер файла выбором самого пользователя.
Видимо если нет доступа ни к php.ini, ни к .htaccess. MAX_FILE_SIZE следует воспринимать как пожелание разработчика о размере файла.

По поводу восприятия браузерами можно вот тут почитать - https://bugs.php.net/bug.php?id=40387
 

fixxxer

К.О.
Партнер клуба
Этот хидден - это просто непонятно откуда взявшийся буллшит. :) Чья-то богатая фантазия. Никакие браузеры ничего с ним не делают.
 

С.

Продвинутый новичок
Как это "непонятно откуда"? Концы торчат из четко определенного места.

Идея хорошая, но предложение на реализацию дурацкое. Нужен был атрибут для <input type="file">, а не этот хидден.
 

Вурдалак

Продвинутый новичок
Взять и на ровном месте добавить в документацию эту хрень — это и есть «непонятно откуда».

предложение на реализацию
А это где-то выносили на обсуждение, были попытки добавить в какой-то стандарт? Иначе это не предложение на реализацию, это просто чья-то больная фантазия.
 

С.

Продвинутый новичок
Все усовершенствования предлагаются явочным порядком на ровном месте. И РНР не хрен собачий, чтобы пройти незамеченным, Правда это предложение действительно было хреновым.
 

Василий М.

Новичок
Этот хидден - это просто непонятно откуда взявшийся буллшит. :) Чья-то богатая фантазия. Никакие браузеры ничего с ним не делают.
браузеры - нет. PHP же отдает код ошибки 2 если размер файла превышает то, что написано в хиддене. правда на кой это надо - не понятно.
 

fixxxer

К.О.
Партнер клуба
А толку-то? Ну взял и приписал кто-то к хиддену нолик. Все равно реальный размер проверять придется.
 

Jhon Mosk

Новичок
Я и сам толк не пойму поэтому и создал тему =)
Вот что пишут: Скрытое поле MAX_FILE_SIZE (значение необходимо указывать в байтах) должно предшествовать полю для выбора файла, и его значение является максимально допустимым размером принимаемого файла в PHP. Рекомендуется всегда использовать эту переменную, так как она предотвращает тревожное ожидание пользователей при передаче огромных файлов только для того, чтобы узнать, что файл слишком большой и передача фактически не состоялась. Помните, обойти это ограничение на стороне браузера можно достаточно просто, следовательно, вы не должны полагаться на то, что все файлы большего размера будут блокированы при помощи этой возможности. По большому счёту, это удобная возможность для пользователей клиентской части вашего приложения. Тем не менее настройки PHP (на сервере) касательно максимального размера обойти невозможно.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Вот что пишут: Скрытое поле MAX_FILE_SIZE (значение необходимо указывать в байтах) должно предшествовать полю для выбора файла, и его значение является максимально допустимым размером принимаемого файла в PHP. Рекомендуется всегда использовать эту переменную, так как она предотвращает тревожное ожидание пользователей при передаче огромных файлов только для того, чтобы узнать, что файл слишком большой и передача фактически не состоялась. Помните, обойти это ограничение на стороне браузера можно достаточно просто, следовательно, вы не должны полагаться на то, что все файлы большего размера будут блокированы при помощи этой возможности. По большому счёту, это удобная возможность для пользователей клиентской части вашего приложения. Тем не менее настройки PHP (на сервере) касательно максимального размера обойти невозможно.
Спецом 8 лет ждал, готовился поди?
 

Squats

Новичок
Зачем нужно указывать в форме MAX_FILE_SIZE?

Затем, что его не нужно указывать - это бесполезное поле.
Как и сама эта форма.
А вообще формы уже можно не писать.
 
Сверху