【问题标题】:getimagesize in php returning falsephp中的getimagesize返回false
【发布时间】: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


【解决方案1】:

您可以使用$_FILES['photo']['size'] 直接获取文件大小,或者如果它是图像大小,如图像的长度和宽度,您可能需要检查 GD 包是否正确加载

【讨论】:

  • getimagesize 不仅仅是获取图像的大小。它还返回 mimetype 等。
猜你喜欢
  • 2012-05-14
  • 1970-01-01
  • 1970-01-01
  • 2013-04-30
  • 2018-10-30
  • 2011-09-10
  • 2012-08-27
  • 2013-01-25
  • 2012-09-02
相关资源
最近更新 更多