PHP文件上传。var_dump返回空字符串

PHP文件上传。var_dump返回空字符串,php,file,file-upload,upload,var-dump,Php,File,File Upload,Upload,Var Dump,我正在尝试用php创建文件上传。但是$\u文件['photo']['name']不返回任何内容。然后我在谷歌上搜索了lot,找到了var\u dump方法。当我运行它时。它返回以下数组 array (size=5) 'name' => string '' (length=0) 'type' => string '' (length=0) 'tmp_name' => string '' (length=0) 'error' => int 4 'size'

我正在尝试用php创建文件上传。但是
$\u文件['photo']['name']
不返回任何内容。然后我在谷歌上搜索了lot,找到了
var\u dump
方法。当我运行它时。它返回以下数组

array (size=5)
  'name' => string '' (length=0)
  'type' => string '' (length=0)
  'tmp_name' => string '' (length=0)
  'error' => int 4
  'size' => int 0
名称、类型和tmp_名称为空

这是完整的代码。(菲律宾)

HTML


文件上传
提交
任何建议。提前感谢。


        <label><input type="file" name="photo" size="25" /></label>
        <label><input type="file" name="photo" size="25" /></label>
        <label><input type="file" name="photo" size="25" /></label>
具有相同名称的三个元素。这可能就是为什么要尝试的原因

 var_dump($_POST);
查看是否有任何内容已发布,但是否有3个同名元素是一个问题

<label><input type="file" name="photo1" size="25" /></label>
<label><input type="file" name="photo2" size="25" /></label>
<label><input type="file" name="photo3" size="25" /></label>

当多个表单元素具有相同的
名称时,它们将相互覆盖。PHP只考虑使用该名称的最后一个输入,该名称可能为空,并忽略您先前填写的输入


您可以查看,但结果是,如果希望PHP“查看”所有输入名称并将它们组织到一个数组中,则需要在输入名称的末尾添加
[]
。否则,只能有一个输入,或者只为每个输入选择不同的名称。

我认为这可能是因为您有多个具有相同名称的表单元素,而不是一个数组。将所有
name=“photo”
更改为
name=“photo[]”,然后看看会发生什么。可能是因为具有重复名称的最后一个表单元素“覆盖”第一个和第二个。谢谢!这就是问题所在,有时候我觉得我是个傻瓜。我相信你不是,每个人有时候都会忽略一些非常小的东西。谢谢!每个元素都有相同的名称是问题所在!
 var_dump($_POST);
<label><input type="file" name="photo1" size="25" /></label>
<label><input type="file" name="photo2" size="25" /></label>
<label><input type="file" name="photo3" size="25" /></label>