$_FILES仍然为空

  • 本文关键字:FILES php file
  • 更新时间 :
  • 英文 :


我想在现有的Wordpress插件中添加一个上传功能。但文件似乎无法加载。我以以下形式使用这段代码:

<form action="" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
// other code of existing plugin.
<input type="submit" value="plugin submit" id="plugin submit" name="plugin submit">
</form>

然后在插件的函数中,我放入了测试行,以了解发生了什么:

 if ($_FILES["file"]["error"] > 0)
    {
    echo "Error: " . $_FILES["file"]["error"] . "<br>";
    }
    else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "<br>";
    echo "Type: " . $_FILES["file"]["type"] . "<br>";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
    echo "Stored in: " . $_FILES["file"]["tmp_name"];
    }

我输入else分支,但所有字段都是空的。我错过了什么?

即使$_FILES未定义,也会触发else分支。

您可以先检查用户是否上传了文件。

is_uploaded_file()

如果以filename命名的文件是通过HTTP POST上传的,

返回TRUE。

你可以这样写:if(is_uploaded_file($_FILES['file']['tmp_name'])

但是,既然这似乎不会返回TRUE在你的情况下,我必须问-因为你的形式是POST到相同的页面,它是在-你的PHP代码在页面的顶部,你的形式驻留?如果是这样的话,你不觉得它在你上传之前就输出空白的上传信息很奇怪吗?

相关内容

  • 没有找到相关文章