Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> обработка массива $_FILES 
:(
    Опции темы
lumentek
Дата 14.7.2010, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 19.11.2009

Репутация: нет
Всего: нет



Поля отправки файла такое <input type='file' name='file[]'>

Проблема в том что таких полей несколько, то есть отправляется несколько файлов.

Проблемы обработать один файл нет, а вот несколько, это проблематично. Как обойти массив и получить имя каждого файла?
PM MAIL   Вверх
нуп
Дата 14.7.2010, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ботокодер
**


Профиль
Группа: Участник
Сообщений: 987
Регистрация: 22.6.2009
Где: Кременчуг

Репутация: нет
Всего: 33



Код

foreach($_FILES['file']['name'] as $name)
    {
        echo $name.'<br>';
    }

 smile 
PM MAIL   Вверх
patap
Дата 14.7.2010, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

Репутация: 26
Всего: 40



сделай print_r($_FILES), посмотри структуру массива и в цикле обработай также как и один файл

в чем проблема?

Код

  $count = count($_FILES['file']['name']);
  $path = 'path/to/dir/';
  
  for ($i = 0; $i < $count; $i++) {
    move_uploaded_file($_FILES['file']['tmp_name'][$i], $path . $_FILES['file']['name'][$i]);
  }


Это сообщение отредактировал(а) patap - 14.7.2010, 12:01


--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
lumentek
Дата 14.7.2010, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 19.11.2009

Репутация: нет
Всего: нет



так вот не получается у меня сразу в одном обходе получить с временный файл (tmp_name) и тип файла
PM MAIL   Вверх
patap
Дата 14.7.2010, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

Репутация: 26
Всего: 40



вот, в принципе как основа, остальное сам добавь, ну и логику поменяй (к примеру: загружать файлы только в том случае, если все файлы удовлетворяют всем условиям, и т.д.)
Код

<?php
  $count = count($_FILES['file']['name']);
  $path = 'temp/';
  $error = array();
  
  for ($i = 0; $i < $count; $i++) {
    if ($_FILES['file']['error'][$i] == 4) {
      $error[$i] = 'no file selected';
    } elseif (!preg_match('#\.(gif|jpeg|jpg|png|pdf)$#i', $_FILES['file']['name'][$i])) {
      $error[$i] = 'bad file type';
    }
    
    if (count($error[$i]) == 0) {
      move_uploaded_file($_FILES['file']['tmp_name'][$i], $path . $_FILES['file']['name'][$i]);
    }
  }
?>


Код

<form action="1.php" enctype="multipart/form-data" method="post">
  <input type="file" name="file[]"><?php if (isset($error[0])) echo $error[0]; ?><br />
  <input type="file" name="file[]"><?php if (isset($error[1])) echo $error[1]; ?><br />
  <input type="file" name="file[]"><?php if (isset($error[2])) echo $error[2]; ?><br />
  <input type="file" name="file[]"><?php if (isset($error[3])) echo $error[3]; ?><br />
  <input type="submit">
</form>



--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
lumentek
Дата 14.7.2010, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 19.11.2009

Репутация: нет
Всего: нет



patap, спасибо большое!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0433 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.