php - 什么会导致 $_FILES ['file' ] ['name' ] 为空?

标签 php forms file-upload

我有一个包含文件上传的表单。除了 $_FILES['file']['name'] 变为空之外,表单中的所有内容似乎都工作正常。

HTML

<form ... >
<input class="file" type="file" name="file[]" />
<input class="file" type="file" name="file[]" />
<input class="file" type="file" name="file[]" />
</form>

PHP

foreach ($_FILES['file']['name'] as $index => $file) {
    // Handle file upload
}

我收到一条错误消息,指出索引 $_FILES['file'] 未定义。我已经检查过在 PHP 中启用了文件上传。还有什么可能导致它变成空的?

最佳答案

加密类型对吗?

尝试

<form action="upload_file.php" method="post" enctype="multipart/form-data">
   <input class="file" type="file" name="file[]" />
   <input class="file" type="file" name="file[]" />
   <input class="file" type="file" name="file[]" />
</form>

如果没有 enctype,则不会上传任何文件,因此 $_FILES 数组将为空。

关于php - 什么会导致 $_FILES ['file' ] ['name' ] 为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12808297/

相关文章:

PHP/MySQL - html/MySQL 组合输出的顺序问题

Django ListView - 用于过滤和排序的表单

forms - HTML Post 表单的身份验证 header

c# - FileUpload 控件不显示已发布的文件

javascript - 从输入类型文件javascript下载文件

php - 使用预匹配更新 SQL 表中的每一行?

php - PHP下的mysql_query是阻塞函数吗?

php - 使用 ENGINE 子句在迁移中创建表失败

forms - ASP.NET MVC 4 : form input value is always null on Submit

javascript - 在 Dropzonejs 中调用 .processQueue() 时出错