【发布时间】:2018-06-04 17:04:38
【问题描述】:
当我选择单个文件或多个文件时,结果是一样的。我期待此代码上传多个文件。但是数组是空的。我已经查看了其他人的多个帖子,这些问题的答案似乎不适用于这里。如果我消除了除名为“action”的隐藏输入之外的所有表单输入,则上传工作正常。
这是相关的 HTML 表单:
<form action="bulletin.php" method="post" enctype="multipart/form-data">
<input class="form-control" id="message_subject" name="message_subject" type="text"/>
<textarea class="form-control" cols="40" id="message_body" name="message_body" rows="10"></textarea>
<input type="file" id="file" name="file[]" multiple accept="image/*"/>
<input type="hidden" name="action" value="submit_new">
<button class="btn btn-primary " name="submit" type="submit">Submit</button>
</form>
这里是 PHP:
print_r($_FILES);
if(isset($_POST['action'])){
// Count total files
$countfiles = count($_FILES['file']['name']);
// Looping all files
for($i=0;$i<$countfiles;$i++){
$filename = date('Y-m-d-H-i-s') . $_FILES['file']['name'][$i];
// Upload file
move_uploaded_file($_FILES['file']['tmp_name'][$i],'user-images/'.$filename);
}
}
这是输出:
数组( )
注意:未定义的索引:文件在 /var/www/html/secure/bulletin.php 的第 66 行
当表单中包含其他输入时,为什么数组为空?
【问题讨论】:
-
请您评论第 66 行。
-
检查此答案中的步骤stackoverflow.com/a/3587158/689579
-
请告诉我们第 66 行
-
第 66 行已注释。它是 $countfiles =
-
我检查了您的建议,并且已经完成了其中的每一个步骤。