Проблема загрузки нескольких файлов $ _POST - PullRequest
1 голос
/ 26 января 2010

У меня есть следующая форма, которая использует некоторые jQuery, чтобы разрешить отправку массива файлов:

<form enctype="multipart/form-data" action="index.php" method="post" >
<input type="file" class="multi" name="test[]"  />
<input  type="submit" value="submit" name="submit" />
</form>

Когда я использую method="get", я получаю следующий URL при отправке:

http://website.com/index.php?test[]=image.jpg&test[]=image2.jpg&submit=submit

Как собрать данные массива test[], используя $ _POST и / или $ _FILE, используя method="post"?

Ответы [ 3 ]

1 голос
/ 26 января 2010

Вам необходимо всегда отправлять файлы с POST.

Затем вы получаете доступ к файлам на стороне сервера через массив $_FILES.

Tizag.com имеет хороший учебник по загрузке файлов.

1 голос
/ 26 января 2010

более гибкий способ доступа к $_FILES, если вы не знаете имя ввода

Я сделал это

$files = $_FILES;
foreach($files as $key =>$file)
{
 $uploaded["filename"] = $files[$key]["name"];
}

print_r($uploaded);

напечатает имя файла

1 голос
/ 26 января 2010

Это становится массивом на стороне сервера, и поэтому вы можете циклически перебирать значения с помощью цикла. Ниже приведен пример использования цикла foreach:

foreach ($_FILES["test"] as $file) {
  // handle current file
}
...