Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.06.2013, 18:40   #1
kuba1981
Форумчанин
 
Регистрация: 22.08.2012
Сообщений: 155
По умолчанию $_FILES

Здравствуйте помогите разобраться, делаю проверку загруженных пользователем файлов, столкнулся с проблемой, когда загружаю большие файлы (upload_max_filesize = 2M, post_max_size = 8M), которые больше post_max_size, то массива $_FILES нет, из за этого не могу обработать ошибку, подскажите как проверять тогда нужно???
kuba1981 вне форума Ответить с цитированием
Старый 18.06.2013, 18:45   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,218
По умолчанию

isset ($_FILES) не поможет?
Arigato вне форума Ответить с цитированием
Старый 18.06.2013, 19:21   #3
kuba1981
Форумчанин
 
Регистрация: 22.08.2012
Сообщений: 155
По умолчанию

Вы имеете в виду так проверять?
Код:
if( !isset($_FILES) ) {
     echo 'Большой файл';
}
kuba1981 вне форума Ответить с цитированием
Старый 18.06.2013, 23:43   #4
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,218
По умолчанию

Как-то так.
Arigato вне форума Ответить с цитированием
Старый 19.06.2013, 11:24   #5
kuba1981
Форумчанин
 
Регистрация: 22.08.2012
Сообщений: 155
По умолчанию

Такой вариант мне не очень подходит, у меня регистрация (имя, фам, адресс и.т.д), в ней поля в форме формируются динамически в зависимости от настроек админа, может быть два, три поля type= "file", а может и вообще не быть, я проверяю после нажатия кнопки $_POST и $_FILES,если $_FILES существует, то в зависимости от $_FILES['name']['error'], вывожу сообщение об ошибке или регистрирую, все работает если не загружать большие файлы, при загрузке больших файлов страница просто перезагружается и массивы пусты, как делают обработку в таком случае???
kuba1981 вне форума Ответить с цитированием
Старый 21.06.2013, 10:51   #6
Minus_yu
Чатланин!
Форумчанин
 
Аватар для Minus_yu
 
Регистрация: 20.11.2010
Сообщений: 140
По умолчанию

может быть в php.ini увеличить upload_max_filesize с 2M на "побольше" насколько требуется и тогда, при загрузке файла, $_FILES точно будет?
Minus_yu вне форума Ответить с цитированием
Старый 21.06.2013, 12:24   #7
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

Используй $_SERVER['CONTENT_LENGTH']
Отсюда получаешь размер передаваемого тебе контента. Проверяй, если размер больше, чем разрешённый размер в post_max_size, то обрабатывай как ошибку, так как сами файлы ты не получишь.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Старый 21.06.2013, 14:03   #8
kuba1981
Форумчанин
 
Регистрация: 22.08.2012
Сообщений: 155
По умолчанию

Спасибо большое за советы попробую через $_SERVER['CONTENT_LENGTH'], посмотрел как сделано в wordpress, в принципе такая же ситуация проверяют $_FILES[]['error']>0 и.т.д, если отключить JS, то и сообщения не появляется о том что файл первышает допустимый размер
kuba1981 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск