Учебник РНР
Назад Глава 19. Обработка загрузки файлов Вперёд

Загрузка нескольких файлов

Несколько файлов можно загружать при использовании разных name в input.

Можно также загружать одновременно несколько файлов и получать автоматически упорядоченную в массивы информацию. Для этого вам необходимо использовать тот же самый синтаксис отправки массива в HTML-форме, как и с несколькими элементами select и checkboxe:

Примечание: Поддержка загрузки нескольких файлов была введена в версии 3.0.10.

Пример 19-3. Загрузка нескольких файлов
 
<form action="file-upload.php" method="post" enctype="multipart/form-data">
  Send these files:<br>
  <input name="userfile[]" type="file"><br>
  <input name="userfile[]" type="file"><br>
  <input type="submit" value="Send files">
</form>

Если такая форма отправлена, массивы $_FILES['userfile'], $_FILES['userfile']['name'] и $_FILES['userfile']['size'] будут инициализированы (так же как с $HTTP_POST_FILES для версий PHP ранее 4.1.0). Когда register_globals включена, инициализируются также глобалы для загружаемых файлов). Каждый из них будет являться численно индексированным массивом соответствующих значений для отправляемых файлов.

К примеру, предположим, что отправлены файлы с именами /home/test/review.html и /home/test/xwp.out. В этом случае $_FILES['userfile']['name'][0] будет содержать значение review.html, а $_FILES['userfile']['name'][1] - значение xwp.out.
Аналогично, $_FILES['userfile']['size'][0] будет содержать значение размера файла review.html, и так далее.

$_FILES['userfile']['name'][0], $_FILES['userfile']['tmp_name'][0], $_FILES['userfile']['size'][0] и $_FILES['userfile']['type'][0] также устанавливаются.


Вверх
Назад Оглавление Вперёд
Обычные ловушки  Поддержка метода PUT