php 进行多图上传时,html文件中使用file 来接收文件为什么没有生成文件数组

zealyw
  • 177

clipboard.png

clipboard.png
通过var_dump($_File)
clipboard.png
如果使用file[]

clipboard.png

回复
阅读 2.3k
2 个回答
✓ 已被采纳

首先,你要传递数组参数,参数名后面必须带有 [] 才能被正常解析,所有你必须用 upload_file[] 作为参数名。
其次,数组形式的文件上传,在PHP解析里并不是解析成文件的数组(这个堪称是BUG一般的存在),而是会解析成你看到的那样的结果,在参数中 name 也变成了一个数组, name0] 表示第一个文件的名字 name[1] 表示第二个文件的名字… ,而 type , tmp_name 等其他的参数 也是如此, 也就是说,你要获取上传第一个文件的信息,你获取的应该是 $_FILES['upload_file'0] , $_FILES['upload_file'[0] ...
无奈PHP解析文件数组时就是这样的,这个经常被吐槽

name="upload_file[]"

你知道吗?

宣传栏