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



我正在尝试用php创建文件上传。但是$_FILES['photo']['name']什么也不返回。然后我在谷歌上搜索了很多,找到了关于var_dump方法的信息。当我运行它时,它返回以下数组。

array (size=5)
  'name' => string '' (length=0)
  'type' => string '' (length=0)
  'tmp_name' => string '' (length=0)
  'error' => int 4
  'size' => int 0

name、type和tmp_name为空。

这是完整的代码。(PHP(

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
     var_dump($_FILES['photo']);
}

HTML

<form class="bs-docs-example" action="upload.php" method="post" enctype="multipart/form-data">
        <fieldset>
            <legend>File Upload</legend>
            <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>
            <label><button type="submit" name="add_video" value="Submit" class="btn">Submit</button></label>
        </fieldset>
</form>

任何建议。提前感谢。

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

您可以查看关于多个文件上传的PHP手册,但结果是,如果您希望PHP"看到"所有文件并将它们组织成一个数组,则需要在输入名称的末尾有[]。否则,只有一个输入,或者只为每个输入选择不同的名称。

        <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>

相关内容

  • 没有找到相关文章

最新更新