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 :: загрузка файла на сервер

 PHP.SU

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


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

> Без описания
sc2r2bey
Отправлено: 11 Декабря, 2010 - 05:47:09
Post Id



Гость


Покинул форум
Сообщений всего: 116
Дата рег-ции: Июль 2009  


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




в php.ini

CODE (text):
скопировать код в буфер обмена
  1. ; Maximum allowed size for uploaded files.
  2. upload_max_filesize = 28M


загружаю файл больше 8М и меньше 28М
он не выдает ошибку на этапе проверки:
PHP:
скопировать код в буфер обмена
  1.   if(($_FILES['file']['size']<8192000))

и как ни странно выполняется
PHP:
скопировать код в буфер обмена
  1.     echo 'Отладочная информация:';
  2.     print_r($_FILES);
  3.     print "</pre>";

выдавая Array хотя по логике он вообще до этого кода не должен дойти
а он просто подряд исполняется

фрагмент upload.php

PHP:
скопировать код в буфер обмена
  1. if(($_FILES['file']['error']==0))
  2. {
  3.   // устанавливаем максимально допустимый размер загружаемого файла
  4.   // (можно предусмотреть задание в конфигурацинном файле, т.е. в ручную).
  5.   if(($_FILES['file']['size']<8192000))
  6.   {
  7.     // устанавливаем папку загрузки
  8.     $uploaddir = '../../doc/';
  9.     // устанавливаем имя файла
  10.     $uploadfile = $uploaddir . basename($_FILES['file']['name']);
  11.     echo '<pre>';
  12.  
  13.       if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile))
  14.       {
  15.         echo "Файл успшно загружен.";
  16.       }
  17.       else
  18.       {
  19.         echo "Ошибка загрузки загрузки.";
  20.       }
  21.  
  22.     echo 'Отладочная информация:';
  23.     print_r($_FILES);
  24.     print "</pre>";
  25.   }
  26.   else
  27.   {
  28.     echo "Размер принятого файла превысил максимально допустимый размер администратором сайта.";
  29.   }
 
 Top
Phantik
Отправлено: 11 Декабря, 2010 - 09:37:12
Post Id


Посетитель


Покинул форум
Сообщений всего: 305
Дата рег-ции: Июнь 2009  


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




А в чем вопрос?
 
 Top
sc2r2bey
Отправлено: 11 Декабря, 2010 - 11:15:47
Post Id



Гость


Покинул форум
Сообщений всего: 116
Дата рег-ции: Июль 2009  


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




как исправить?
 
 Top
OrmaJever Модератор
Отправлено: 11 Декабря, 2010 - 13:29:42
Post Id



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


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


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




в php.ini есть ещё один параметр для заргузки файла
post_max_size так же выставляет размер передаваемого файла.
А что у вас в условии
PHP:
скопировать код в буфер обмена
  1.   if(($_FILES['file']['size']<8192000))
?? и где его конец?


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Мелкий Супермодератор
Отправлено: 11 Декабря, 2010 - 14:50:09
Post Id



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


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


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




0) phpfaq.ru/debug
1) конкретно - приведите всё содержимое массива $_FILES

Цитата:
Размер принятого файла превысил максимально допустимый размер администратора сайта.

Ха-ха Думаю, более по-русски будет:
Размер принятого файла превысил максимально допустимый размер, установленный администратором сайта.


-----
PostgreSQL DBA
 
 Top
JustUserR
Отправлено: 11 Декабря, 2010 - 20:55:34
Post Id



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


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


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




sc2r2bey пишет:
Загружаю файл больше 8М и меньше 28М он не выдает ошибку на этапе проверки
Возможной причиной предполагаемого вами поведения PHP-скирипта является использования некорректного элемента ассоциативного массива для получения информационного поля размера целевого загружаемого файла - в частности если указанное вами имя компонента формы загружаемого файла является некорректным то его значение может быть автоматически трактовано как нулевая константа даже в случае когда его определение не обеспечено - в конкретном вашем случае реализация вывода может свидетельствовать об использовании вами загрузки массива файловых объектов в одноименном компоненте без последующего применения индексов
Кроме того фактический локальный размер загружаемого файлового объекта и его представление в передаваемом HTTP-запросе может быть в значительной мере различным - в силу использования HTTP transfer encoding для осуществления специфицированного представления файла


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
CenapaTop
Отправлено: 12 Декабря, 2010 - 06:08:50
Post Id



Частый гость


Покинул форум
Сообщений всего: 166
Дата рег-ции: Авг. 2009  


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




Закатив глазки

(Отредактировано автором: 12 Декабря, 2010 - 06:14:40)

 
 Top
JustUserR
Отправлено: 12 Декабря, 2010 - 19:44:22
Post Id



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


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


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




CenapaTop В качестве возможного упрощенного трактования причины некорректной работы PHP-скрипта предоставленной в предыдущем сообещнии - возможно использовать факт указания объекта загружаемого файла который в действительности является неопределенным в заданной сигнатуре обращения - вследствие чего осуществляется его трактование как ноль в алгебраическом выражении сравнения


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB