我正在尝试为image-types
获取Mime-Type
,如下所示:
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()
,我在这里做错了什么?
4条答案
按热度按时间ylamdve61#
在
php.ini
中启用以下扩展并重新启动服务器。扩展名= php_mb字符串. dll
扩展名= php_exif. dll
然后检查
phpinfo()
以查看它是否设置为on/off3pmvbmvn2#
我认为问题是PHP配置和/或版本,例如,在我的情况下:
我们知道
exif_imagetype()
接受文件路径或资源并返回一个常数,如IMAGETYPE_GIF,image_type_to_mime_type()
接受该常数并返回一个字符串'image/gif'
、'image/jpeg'
等。这不起作用(缺少函数exif_imagetype),所以我发现image_type_to_mime_type()
也可以接受整数1、2、3、17等作为输入,所以使用getimagesize解决了这个问题,它返回一个整数值作为mime类型:zsbz8rwp3#
将此函数添加到您的代码中,这样我们就可以知道您使用的是哪个版本的php,因为只有(PHP version 4〉= 4.3.0,PHP 5)才支持此函数。
它可能没有安装,您可以添加这部分代码以确保它:
zysjyyx44#
如果您使用Docker,请将以下内容添加到您的Docker文件中: