【发布时间】:2015-12-31 04:04:22
【问题描述】:
我正在尝试创建一个网络服务,在该服务中,我需要人们上传图片,但是当我尝试使用以下代码上传图片时,getimagesize 返回 false。我做错了什么?
HTML:
<form action="../askcheck.php" method="post" id="ask" enctype="multipart/form-data">
<div><input type="file" name="photo" id="photo" accept="image/jpg,image/jpeg,image/JPG,image/JPEG,image/png,image/PNG" /></div>
<div><button type="submit">submit</button></div>
PHP:
if(is_uploaded_file($_FILES["photo"]["tmp_name"])){
$check=getimagesize($_FILES["photo"]["tmp_name"]);
if($check==false){
//check if the uploaded file is an image
$uploadok=0;
echo 'not an image';
}
}
当我上传图片时,它会回显“不是图片”。我究竟做错了什么?我尝试了多张图片。
编辑笔记:
当我回显我的服务器的 GD 版本时,它给了我“捆绑(2.1.0 兼容)”
第二次编辑笔记: 问题解决了,但不是以专业的方式。我联系了我的主人,主人做了一些事情并告诉我再试一次,然后它起作用了。我不知道他做了什么,但一定与某种服务器设置有关。
【问题讨论】:
-
你确认你有GD扩展了吗?
-
另外,使用
===,因为==不检查它是否真的是假的,它只是检查它是否是falsy -
您发布的代码正在运行。您能否附上一张未通过测试的示例图片或链接?另请注意,
getimagesize不需要 GD 图像库。
标签: php file-upload image-uploading