HTML 5 много загрузка файла с PHP

Вот код, который я имею, и я задаюсь вопросом, что я делаю неправильно, что он не отображает имя.

<form action = "self.php" method="post" enctype="multipart/form-data">
<input type="file" name="imageURL[]" id="imageURL" multiple="" />
<input type="submit" value="submit" name="submit" />
</form>

И информация об обработке, которая не работает:

foreach ($_FILES['imageURL'] as $files[]) { 
    echo $files['file'];
}

Править:

При изменении моего цикла foreach на:

foreach ($_FILES['imageURL'] as $file) { 
    echo $file['name'];
}

Тем не менее ничто не распечатывает.

Однако, когда я делаю что-то вроде этого:

foreach ($_FILES['imageURL']['name'] as $filename) { 
    echo $filename;
}

Имя файла действительно печатает. Я не знаю то, что это подразумевает все же.



РЕШЕННОЕ ОБНОВЛЕНИЕ:

Как связано с John Conde, структура чередования массива отличается при загрузке нескольких файлов, загружая единственный файл. Для использования foreach мы должны реструктурировать массив.

$files=array();
$fdata=$_FILES['imageURL'];
if(is_array($fdata['name'])){
for($i=0;$i<count($fdata['name']);++$i){
        $files[]=array(
    'name'    =>$fdata['name'][$i],
    'type'  => $fdata['type'][$i],
    'tmp_name'=>$fdata['tmp_name'][$i],
    'error' => $fdata['error'][$i], 
    'size'  => $fdata['size'][$i]  
    );
    }
}else $files[]=$fdata;

ТЕПЕРЬ мы можем использовать foreach для цикличного выполнения:

foreach ($files as $file) { 
    echo $file['name'];
}
11
задан kylex 9 July 2010 в 19:32
поделиться

2 ответа

Попробуйте

foreach ($_FILES['imageURL'] as $file) { 
    echo $file['name'];
}

ОБНОВЛЕНИЕ:

Google нашел это руководство , которое может вам помочь

13
ответ дан 3 December 2019 в 07:10
поделиться

Может быть, я ошибаюсь, но не отключил бы при настройке multiple = "" несколько загрузок? Просто используйте multiple отдельно, как показано в спецификации HTML5 , или, для совместимости с XHTML, multiple = "multiple" :

<input type="file" name="imageURL[]" id="imageURL" multiple />
1
ответ дан 3 December 2019 в 07:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: