Đây là mã tôi có và tôi tự hỏi mình đang làm gì sai khi nó không hiển thị tên.Tải lên nhiều tệp HTML 5 với 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>
Và các thông tin xử lý không hoạt động:
foreach ($_FILES['imageURL'] as $files[]) {
echo $files['file'];
}
Edit:
Khi thay đổi vòng lặp foreach tôi để:
foreach ($_FILES['imageURL'] as $file) {
echo $file['name'];
}
Vẫn không có gì in ra .
Tuy nhiên, khi tôi làm điều gì đó như thế này:
foreach ($_FILES['imageURL']['name'] as $filename) {
echo $filename;
}
Các tên tập tin không in. Tôi không biết điều đó ngụ ý gì.
CẬP NHẬT SOLVED:
Như liên quan đến John Conde, mảng interlace cấu trúc là khác nhau khi tải lên nhiều file hơn khi tải lên một tập tin duy nhất. Để sử dụng foreach, chúng ta phải tái cấu trúc mảng.
$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;
VỚI DOANH NGHIỆP chúng tôi có thể sử dụng foreach để lặp:
foreach ($files as $file) {
echo $file['name'];
}
Mã dưới 'bản cập nhật đã giải quyết' khá kém. is_array ($ fdata ['name']) sẽ luôn đánh giá sai, có nghĩa là hầu hết các ví dụ không bao giờ chạy. Xem câu trả lời được chấp nhận trên trang này để thay thế. –