繁体   English   中英

上传时$ _FILES为空

[英]$_FILES Empty When Uploading

尝试访问$_FILES数组时,PHP返回错误

“未定义的索引:图片”。

在我的php.ini文件中, File Uploads已打开,任何用户都可以在/tmp目录中写入。 在HTML表单中,enctype设置为"multipart/form-data" 有趣的是,上传文件的基本名称打印,所以我相信PHP实际上已经看到了该文件,但上传它有一些问题。 有人可以就此问题的潜在解决方案提供建议吗? 顺便说一句,我使用的是PHP5。

来自PHP文件的片段

echo "Picture=" . $_POST['picture'] . "<br/>";
$uploadedPic = $_FILES['picture']['tmp_name'];

HTML表单

<form action="PHPFile.php" method="post" enctype="multipart/form-data">

<p> Picture </p>
<input type = "file" id="picture" name="picture"/>

</form>

在什么线上你得到那个警告? 如果它是带有$_POST['picture']那个,那么它的逻辑,你不会在$_POST找到上传的文件数据,它在$_FILES

echo "Picture=" . $_POST['picture'] . "<br/>";

POST变量

$_POST['picture']

不存在,所以是的,它会给出一个未定义的错误。

我无法评论,所以我会在这里说。

MAN,这个echo会打印文件名! 有用! 他说它有效。

有趣的是,上传文件的基本名称打印,所以我相信PHP实际上看到了文件[...]

一个很好的提示:尝试var_dump $_FILES并添加它的内容。 您可能有错误,因为文件太大或其他一些有用的信息。

您使用的是什么级别或错误报告? error_reporting(E_ALL)将打开完整报告,并可能会给您一个提示。 如前所述,使用var_dump()print_r()打印$_FILES以查看文件的信息。

lol,之前的一张海报说重启他们的服务器修复了它。 我做了同样的事情,并且由于某种原因它起作用了。 我没有更改代码,IIS重置也不起作用。 它需要重新启动计算机本身。 这大约2小时完全失去了。

尝试添加

<input type="hidden" name="MAX_FILE_SIZE" value="30000" />

之前

<input type = "file" id="picture" name="picture"/>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM