Php 为什么';如果(!getimagesize($#u FILES[';imagefile';][';tmp#u name';])&;不';不行?
文件上传后,为什么即使是图像也总是给我假消息?Php 为什么';如果(!getimagesize($#u FILES[';imagefile';][';tmp#u name';])&;不';不行?,php,Php,文件上传后,为什么即使是图像也总是给我假消息? if (!getimagesize($_FILES['imagefile']['tmp_name'])) { $boolean = false; } 顺便说一下,它给了我一个错误: 警告:getimagesize()[function.getimagesize]:文件名不能为空。在对文件执行任何操作之前,请确保已上载文件。开发时只需转储$\u文件数组,如: echo '<pre>'; print_r($_FILES);echo '&l
if (!getimagesize($_FILES['imagefile']['tmp_name'])) { $boolean = false; }
顺便说一下,它给了我一个错误:警告:getimagesize()[function.getimagesize]:文件名不能为空。
在对文件执行任何操作之前,请确保已上载文件。开发时只需转储$\u文件
数组,如:
echo '<pre>'; print_r($_FILES);echo '</pre>';
echo';打印(美元文件);回声';
您需要在
标签上应用enctype
属性,以便上传文件。请参见首先检查上传是否成功:
错误常量为。永远不要假设上传成功。他们只有一种方法可以工作,还有无数种方法可以失败
如果getimagesize()
抱怨文件名为空,则:
a。上载失败,原因代码将位于..['error']
属性中
b。您正在检查错误的文件字段名。如果您有
,则必须检查$\u文件['image'][…]
c。无论出于何种原因,您的web服务器都可以将文件写入临时目录,但没有读取权限。您确定没有上载错误吗?另外,您能提供更多的代码吗?警告明确表示没有标记为“imagefile”的文件进入服务器。是的,那么该怎么办
$\u FILES[“file”][“tmp\u name”]
不是空的,太奇怪了。。。我很快就会向某人开枪……在你的问题中:$\u文件['imagefile']['tmp\u name']
在你的评论中:$\u文件['file]['tmp\u name']
。我会打印($文件);看看上面写了什么。Jayrox,你应该把这个贴在答案里,因为它对我帮助最大,谢谢。我已经添加了enctype=“multipart/form data”
。[tmp\u name]=>C:\xampp\tmp\phpA3D5.tmp
,但我猜这是一条糟糕的路径?但,若我并没有添加if子句,那个么它可以完美地上传图像。Omg://@hey:是的,可能是本地服务器和在线服务器的上传设置不同。
if ($_FILES['imagefile']['error'] === UPLOAD_ERR_OK) {
if (!getimagesize(....)) {
...
}
} else {
die("Upload failed with error code {$_FILES['imagefile']['error']}");
}