【问题标题】:How to get the image type in php [duplicate]如何在php中获取图像类型[重复]
【发布时间】:2023-04-01 14:51:01
【问题描述】:

我正在尝试获取数据库中的图像类型,但以下内容不起作用。如何检测图片是 png、jpeg 还是 gif?

if(isset($_POST['submit'])) {
    $fileType = $_FILES['image']['type'];
    $tmpname = $_FILES['image']['tmp_name'];
    $fp = fopen($tmpname,'r');
    $data = fread($fp,filesize($tmpname));
    $data = addslashes($data);
    fclose($fp);

    $update = mysql_query("UPDATE avatar SET image1='$data',type='$fileType' WHERE username='$user'",$this->connect);
} else {
    echo "<form enctype='multipart/form-data' action='http://www.example.com/cp/avatar' method='post'>
        <div id='afield1' >Upload</div><div id='afield2'><input type='hidden' name='MAX_FILE_SIZE' value='102400' /><input type='file' size='25' name='image' /></div>
        <div id='asubmit'><input type='submit' name='submit' class='button' value='Save Changes' /></div>
        </form>";
}

【问题讨论】:

    标签: php


    【解决方案1】:

    使用getimagesize()exif_imagetype()

    // integer - for example: IMAGETYPE_GIF, IMAGETYPE_JPEG etc.
    $type   = exif_imagetype($_FILES['image']['tmp_name']);
    

    $info   = getimagesize($_FILES['image']['tmp_name']);
    $mime   = $info['mime']; // mime-type as string for ex. "image/jpeg" etc.
    $width  = $info[0];      // width as integer for ex. 512
    $height = $info[1];      // height as integer for ex. 384
    $type   = $info[2];      // same as exif_imagetype
    

    请注意exif_imagetypegetimagesize 快得多。查看文档了解更多信息。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-20
    • 2011-04-25
    • 2013-10-04
    • 1970-01-01
    • 2014-10-03
    • 1970-01-01
    • 2018-11-27
    相关资源
    最近更新 更多