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

start [/forum/topic.php?fid=23&tablet=1&tid=1477767]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
159ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 210ms |
| total: | 474ms |

| 0 / 0 |
