Загрузка нескольких файлов multipart/form-data. Ограничение размера.

ksaphan

Новичок
Загрузка нескольких файлов multipart/form-data. Ограничение по времени. ЕЩЕ вопрос!

Делаю форму для загрузки нескольких файлов на сервер (3 и более, в зависимости от выбора).
PHP:
<form enctype="multipart/form-data" action="__URL__" method="POST">
      <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
      <input name="userfile[]" type="file" />
      <input name="userfile[]" type="file" />
      <input type="submit" value="Send File" />
</form>
Но при submit этой формы ВСЕ файлы загружаются, даже те, размер которых больше, браузер игнорирует значение MAX_FILE_SIZE. Пробовал писать это поле перед каждым полем для ввода файла. То же самое. Как мне ограничить это на уровне браузера?
И еще проблема: если хотя бы один файл больше примерно 6-7 мегабайт (я еще не определил точно), то массив $_FILES вообще оказывается неопределен. При этом если файл около 3-4 мегабайт (в php.ini указан макс. размер 2 мега), то переменная $_FILES['userfile']['error'][num] всодержит ошибку, что размер превышен, как и нужно. Но если файл больше, то переменная вообще не определена! php ругается на неизвестный параметр userfile.
Еще: есть ли ограничение на размер посылаемой через POST информации?
 

kvf77

Red Devil
ksaphan

а почему она должна быть определена, если при закачке произошла ошибка? не судьба проверить isset?
 

ksaphan

Новичок
Да, я понимаю что ошибка. isset помогает.
Но в таком случае ни один из файлов не загружается.
Я хочу понять, из-за чего возникает ошибка.
Может предел для POST какой-то есть?

-~{}~ 15.02.06 16:36:

И что на счет MAX_FILE_SIZE, как мне ограничить размер на стороне клиента?
 

kruglov

Новичок
ksaphan
Злой клиент все равно сможет закачать файлов больше, чем его просят.
 

kvf77

Red Devil
ksaphan

эта переменная работает либо на 1 файл либо по совокупности - не помню точно - короче закачку много файлов сразу ей не ограничить помоему
 

ksaphan

Новичок
От злого клиента я в любом случае ограничиваю на стороне сервера, просто не хочется чтобы добрый клиент долго ждал, и ничего не получил.

Еще есть мнения?
 

alexhemp

Новичок
Предупредить его заранее?

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

ksaphan

Новичок
Но если клиент по ошибке начинает загружать большой файл?
Неужели нельзя как-то вычислить размер файла на стороне клиента и проанализировать его? Тот же MAX_FILE_SIZE. Нельзя ли как-нибудь его прикрутить.

На счет POST нашел post_max_size - ограничение POST, поэтому и не существовал массив.

И еще, есть ли ограничение по времени на отправку файлов по POST? Не связано ли оно с временем выполнения скрипта (которое по дефолту в php.ini равно 30 секунд)?
 

kvf77

Red Devil
ksaphan

вычисляй JavaScript'ом - какое отношение все это к PHP имеет?
 
Сверху