Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: MAX_FILE_SIZE не работает.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Арикус
Отправлено: 22 Сентября, 2015 - 02:37:01
Post Id



Гость


Покинул форум
Сообщений всего: 123
Дата рег-ции: Июнь 2015  
Откуда: Москва, Россия


Помог: 0 раз(а)




Скрытое поле MAX_FILE_SIZE отлично работает в других формах на сайте, но не в этой.
CODE (html):
скопировать код в буфер обмена
  1. <form method="post" enctype="multipart/form-data" action="https://tsenavoprosa.com:443/question.php?num=164" id="descAdd">
  2. <input type="hidden" name="MAX_FILE_SIZE" value="104857600" />
  3. <img width="98" height="30" src="image/button-Add.png"> </form>

При нажатии на img срабатывает jquery скрипт, добавляющий в форму поля, в том числе поля загрузки файлов:
CODE (javascript):
скопировать код в буфер обмена
  1. $("#descAdd img").on("click", function(){
  2. ...
  3.         $("#descAdd").append('<div align="right"> <table class="tableChar0" cellspacing="0" cellpadding="2" border="0" id="tableFiles"></table> </div> <br />');
  4. ...
  5.                 $("#tableFiles").append('<tr><td id="img1"> <input type="file" class="file" accept="image/*" name="askImg1" /> </td></tr>');
  6.                 $("#tableFiles tr:last-child").append('<td id="file1"> <input type="file" class="file" name="askFile1" /> </td>');
  7. ...
  8. return false;  
  9. });

Эту форму отличает от тех, где MAX_FILE_SIZE работает нормально то, что изначально в ней нет ни одного поля для загрузки файлов.
В обработке формы есть следующие строки, которые должны были сработать, но не сработали. Файл загружается нормально, хотя не должен.
PHP:
скопировать код в буфер обмена
  1. if ($_FILES["askImg$iK1"]['error'] > 0)
  2. {$fAddText .= '<span class="textOrange"> Ошибка! Не удалось выгрузить файл из формы. ';
  3.         switch ($_FILES["askImg$iK1"]['error'])
  4.         {case 1: $fAddText .= 'Размер файла превышает допустимое значение (10 Мб).'; break;
  5.         case 2: $fAddText .= 'Размер файла превышает допустимое значение (10 Мб).'; break;
  6.         ...}
  7. $fAddText .= '</span> <br />';
  8. $fAdd++;}
 
 Top
Viper
Отправлено: 22 Сентября, 2015 - 13:08:18
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




Арикус MAX_FILE_SIZE может не обрабатываться сервером, как вы предполагаете.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Арикус
Отправлено: 22 Сентября, 2015 - 15:06:09
Post Id



Гость


Покинул форум
Сообщений всего: 123
Дата рег-ции: Июнь 2015  
Откуда: Москва, Россия


Помог: 0 раз(а)




Viper И что нужно, чтобы обрабатывался?
 
 Top
Viper
Отправлено: 22 Сентября, 2015 - 20:20:00
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




Арикус получать значение из php и через filesize проверять.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
broshurkaplus
Отправлено: 22 Сентября, 2015 - 21:24:00
Post Id



Посетитель


Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011  
Откуда: Пружаны Бресткая обл. Беларусь


Помог: 2 раз(а)




посмотрите на стороне сервера приходит ли значение из инпута MAX_FILE_SIZE
нужно изначально на сервере забить это и проверять
например
PHP:
скопировать код в буфер обмена
  1. $up_file_size_kb = filesize($tmpfilename) / 1024;
  2. if ($up_file_size_kb > 1048576)
  3.         {
  4.             $prichina = "Размер файла должен быть В ПРЕДЕЛАХ  1Мб.";
  5.             return false;
  6.         }

предполагаю, что тк изначально нет инпутов для файлов то яваскрипт собирающий с нее данные, возможно не видит вновь добавленных инпутов, те не передает значение из вновь добавленного на страницу инпута MAX_FILE_SIZE
если есть яваскрипт валидатор на форме, или пропишите пару строк для этого, чтоы вывести значения из него на экран.
возможно надо использовать для вновь созданных дом элементов
$(document).on('click'...
собрать данные и зформы
);

(Отредактировано автором: 22 Сентября, 2015 - 21:27:27)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB