[英]$_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.