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]   

> Без описания
wget
Отправлено: 18 Декабря, 2013 - 18:20:08
Post Id


Новичок


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


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




Столкнулся с неожиданной проблемой не грузятся несколько файлов на сервер.
Один - на ура.

CODE (html):
скопировать код в буфер обмена
  1. <form  enctype='multipart/form-data' method='post'>
  2. <input type='file' name='image' multiple='true'>
  3. <input type='submit' name='insert' value='Добавить файл'>
  4. </form>


PHP:
скопировать код в буфер обмена
  1.  
  2. if (isset($_POST['insert'])) {
  3.  
  4.         foreach($_FILES['image']['name'] as $k => $v) {
  5.  
  6.        
  7.         # путь к директории загрузки
  8.         $uploadDir = 'images/';
  9.         # новое имя файла
  10.         $filePostName = time().rand(0, 1000).'.jpg';
  11.         # путь к файлу
  12.         $way = $uploadDir.$filePostName;
  13.        
  14.         if (move_uploaded_file($_FILES['image']['tmp_name'][$k], $way)) {
  15.                 echo 'Файл загружен';
  16.         }
  17.  
  18.         }
  19. }
  20.  


выдает ошибку

PHP:
скопировать код в буфер обмена
  1. Warning: Invalid argument supplied for foreach()


Тобишь $_FILES['image']['name'] не является массивом и действительно, проверял через var_dump, только один массив, почему так? Ничего не могу понять....

В php.ini может что отключено? Ничего не понимаю....

(Отредактировано автором: 18 Декабря, 2013 - 19:11:50)

 
 Top
Мелкий Супермодератор
Отправлено: 18 Декабря, 2013 - 19:23:53
Post Id



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


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


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






-----
PostgreSQL DBA
 
 Top
DeepVarvar Супермодератор
Отправлено: 18 Декабря, 2013 - 19:25:09
Post Id



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


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




Потму что мультипле не отсылает сразу все файлы, а шлет их по отдельности (не суть в порядке) дергая скрипт загрузки столько раз, сколько картинок отправляется на сервер. И скрипт каждый раз обрабатывает только одну картинку. Но визуально для пользователя это выглядит как множественная загрузка.
(Добавление)
Мелкий пишет:
name='image[]'
В контексте атрибута мультипле это не нужно.
Иначе это уже не множественная а одновременная загрузка получается.
И теряется весь смысл.
 
 Top
wget
Отправлено: 18 Декабря, 2013 - 19:31:01
Post Id


Новичок


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


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




Спасибо что откликнулись только тогда, когда я спустя несколько часов свирепых поисков, таки нашел эту загвоздку Радость
 
 Top
Invert
Отправлено: 19 Декабря, 2013 - 09:39:38
Post Id



Частый гость


Покинул форум
Сообщений всего: 223
Дата рег-ции: Нояб. 2010  


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




wget мы их обязательно отшлепаем по попе за то, что вовремя вам не помогли. Простите нас.
 
 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