调用未定义的函数 exif_imagetype()

2022-08-30 21:33:19

我试图得到如下:Mime-Typeimage-types

if(!empty($_FILES['uploadfile']['name']) && $_FILES['uploadfile']['error'] == 0){    

    $file = $_FILES['uploadfile']['tmp_name'];
    $file_type = image_type_to_mime_type(exif_imagetype($file));

    switch($file_type){

        // Codes Here

    }

}

但它总是给出错误 。我在这里做错了什么?Call to undefined function exif_imagetype()


答案 1

在 中启用以下扩展并重新启动服务器。php.ini

扩展名=php_mbstring.dll
名=php_exif.dll名

然后检查它是否设置为开/关phpinfo()


答案 2

我认为问题是PHP配置和/或版本,例如,在我的情况下:

我们知道exif_imagetype()采用文件路径或资源,并返回一个像IMAGETYPE_GIF这样的常量,并采用该常量值并返回字符串,等等。这不起作用(缺少函数exif_imagetype),所以我发现也可以将整数1,2,3,17等作为输入,因此使用getimagesize解决了问题,它返回一个整数值作为mime类型:image_type_to_mime_type()'image/gif''image/jpeg'image_type_to_mime_type()

function get_image_type ( $filename ) {
    $img = getimagesize( $filename );
    if ( !empty( $img[2] ) )
        return image_type_to_mime_type( $img[2] );
return false;
}

echo get_image_type( 'my_ugly_file.bmp' );
// returns image/x-ms-bmp
echo get_image_type( 'path/pics/boobs.jpg' );
// returns image/jpeg

推荐