|
|
|
(PHP) Как проверить размер закачиваемого файла на стороне клиента?
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток! Я хочу обработать ошибку такого рода: чтобы при загрузке ооо-чень больших файлов на сервер пользователь видел сообщение о том, что он неправ. У меня в форме MAX_FILE_SIZE=1М. Настройки по умолчанию upload_max_filesize=2М, post_max_size=8М. При закачке файлов до 8М все ОК, отлавливаю ошибку превышения заданного размера с помощью $_FILES["userfile"]["error"] и сообщаю об этом пользователю. При превышении значения post_max_size соответственно !isset($_POST) и !isset($_FILES), файл не закачивается - оно и понятно, слишком большой! Но: пользователю не выдается сообщение об ошибке, а хотелось бы. Кроме этого, сбрасываются и все скрытые переменные, передаваемые через форму. Думаю, что в таком случае стоит проверять размер файла до сабмита, т.е. напрашивается Java Script. Можно ли средствами JS это сделать? Если кто-нибудь сталкивался с такой проблемой, помогите, пожалуйста. Может, кто-нибудь предложит более изящное решение. Заранее спасибо. PS: Извините, если такая тема уже была, поиском ничего не нашла - сервер перегружен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2005, 11:22 |
|
||
|
(PHP) Как проверить размер закачиваемого файла на стороне клиента?
|
|||
|---|---|---|---|
|
#18+
JS вообще не умеет работать с файлами. Что касается сообщений об ошибках клиенту, то Upload файлов, и все с этим связанное ---------------------------------------- Артисты не приехали, приехали цыгане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2005, 12:06 |
|
||
|
(PHP) Как проверить размер закачиваемого файла на стороне клиента?
|
|||
|---|---|---|---|
|
#18+
Дело в том, что я не хочу менять настройки php.ini, меня вполне устраивают ограничения по умолчанию. Мне нужно каким-то образом узнать размер закачанного файла (размера > post_max_size) и выдать сообщение типа "превышен post_max_size". Повторюсь, что $_FILES в данном случае не инициализируется, и $_FILES['userfile']['size'] я использовать не могу. Кстати, а какой максимальный post_max_size можно указать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2005, 12:21 |
|
||
|
(PHP) Как проверить размер закачиваемого файла на стороне клиента?
|
|||
|---|---|---|---|
|
#18+
Если превышен объем файла то $_FILES['имя']['error'] == 1. Почитайте мануал. Вам же давали ссылку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2005, 13:16 |
|
||
|
(PHP) Как проверить размер закачиваемого файла на стороне клиента?
|
|||
|---|---|---|---|
|
#18+
Уважаемый автор324, повторюсь в 3й раз: в данном случае $_FILES не инициализирован, $_FILES['имя']['error'] соответственно тоже. Ошибка при передаче через POST объема данных, превышающих допустимый предел. Читайте внимательнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2005, 14:07 |
|
||
|
(PHP) Как проверить размер закачиваемого файла на стороне клиента?
|
|||
|---|---|---|---|
|
#18+
Тогда вам надо разобраться почему не инициализируется $_FILES. На сколько я знаю не зависимо от того превышен или нет лимит он должен быть инициализирован. Не инициализируется он если неправильно указан enctype формы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2005, 14:15 |
|
||
|
(PHP) Как проверить размер закачиваемого файла на стороне клиента?
|
|||
|---|---|---|---|
|
#18+
enctype="multipart/form-data" Я думаю $_FILES не инициализируется как раз потому, что ошибка при передачи данных из формы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2005, 14:19 |
|
||
|
(PHP) Как проверить размер закачиваемого файла на стороне клиента?
|
|||
|---|---|---|---|
|
#18+
Заголовки при передаче файла читать пробовали? ---------------------------------------- Артисты не приехали, приехали цыгане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2005, 14:23 |
|
||
|
(PHP) Как проверить размер закачиваемого файла на стороне клиента?
|
|||
|---|---|---|---|
|
#18+
4m@t!c: не поняла ваш вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2005, 14:33 |
|
||
|
(PHP) Как проверить размер закачиваемого файла на стороне клиента?
|
|||
|---|---|---|---|
|
#18+
>Я думаю $_FILES не инициализируется как раз потому, >что ошибка при передачи данных из формы. Вместо того, что бы гадать, виновата ли форма - посмотрите какими заголовками обмениваются клиент с сервером. Передает ли клиент файл, и что делает в ответ на это сервер. ---------------------------------------- Артисты не приехали, приехали цыгане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2005, 14:40 |
|
||
|
(PHP) Как проверить размер закачиваемого файла на стороне клиента?
|
|||
|---|---|---|---|
|
#18+
verchaenctype="multipart/form-data" Я думаю $_FILES не инициализируется как раз потому, что ошибка при передачи данных из формы. $_FILES инициализируется по любому, передал клиент файл или не передал, превысил не превысил ... По крайной мере так было до сих пор :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2005, 14:52 |
|
||
|
(PHP) Как проверить размер закачиваемого файла на стороне клиента?
|
|||
|---|---|---|---|
|
#18+
делаю print_r($_FILES), результат - Array() в заголовках все то же самое, как если бы аплоадился файл допустимого размера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2005, 15:33 |
|
||
|
(PHP) Как проверить размер закачиваемого файла на стороне клиента?
|
|||
|---|---|---|---|
|
#18+
Покажите заголовки при передаче большого файла? ---------------------------------------- Артисты не приехали, приехали цыгане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2005, 15:44 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=33212654&tid=1477767]: |
0ms |
get settings: |
10ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
178ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 517ms |

| 0 / 0 |
