$ _FILES仍为空

时间:2014-03-15 17:48:43

标签: 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分支,但所有字段都是空的。我错过了什么?

1 个答案:

答案 0 :(得分:0)

即使$_FILES未定义,您也会点击其他分支。

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

is_uploaded_file()

  

如果文件名命名的文件是通过HTTP POST上传的,则返回TRUE。

您可以使用以下内容: if(is_uploaded_file($_FILES['file']['tmp_name'])

但是因为在你的情况下似乎不会返回TRUE我必须要求 - 因为你的表单是POST到它所在的同一页面 - 你的PHP代码位于顶部表单所在的页面?如果是这种情况,你甚至在上传之前就发现输出空白的上传信息有点奇怪吗?

相关问题