Oto kod, który mam i zastanawiam się, co robię źle, że nie wyświetla nazwy.HTML 5 wielu plików do pobrania z 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>
A przetwarzania informacji, że nie działa:
foreach ($_FILES['imageURL'] as $files[]) {
echo $files['file'];
}
Edit:
Przy zmianie mojego pętli foreach:
foreach ($_FILES['imageURL'] as $file) {
echo $file['name'];
}
Jeszcze nic nie drukuje .
Jednak, gdy robię coś takiego:
foreach ($_FILES['imageURL']['name'] as $filename) {
echo $filename;
}
Nazwa pliku nie drukować. Nie wiem, co to oznacza.
SOLVED UPDATE:
jako związane z John Conde, tablica z przeplotem konstrukcji różni się podczas przesyłania wielu plików, niż podczas przesyłania pojedynczego pliku. Aby użyć foreach, musimy zrestrukturyzować tablicę.
$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;
teraz możemy użyć foreach pętli:
foreach ($files as $file) {
echo $file['name'];
}
Kod pod "rozwiązaną aktualizacją" jest raczej słaby. is_array ($ fdata ['name']) zawsze będzie oceniać false, co oznacza, że większość przykładów nigdy nie zostanie uruchomiona. Zamiast tego zobacz zaakceptowaną odpowiedź na tej stronie. –