exif_imagetype在Windows中不起作用

时间:2013-12-05 20:04:11

标签: php image-uploading exif

我在windows中使用cakephp 2.4开发应用程序,我需要在其中创建Image上传工具。但是当我使用exif_imagetype时,它给了我致命的错误。因此,使用此代码,我检查是否安装了exif工具

if (function_exists('exif_imagetype')) {
echo "This function is installed";
} else {
echo "It is not";
}

并显示未安装exif工具。但在php.ini我可以看到这部分

;extension=php_bz2.dll
;extension=php_curl.dll
;extension=php_dba.dll
extension=php_mbstring.dll
;extension=php_exif.dll
;extension=php_fileinfo.dll
extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_intl.dll
;extension=php_imap.dll

我不确定是什么问题。任何人都可以帮我解决这个问题。 我的php版本是 5.4.3 ,我正在使用wampserver

2 个答案:

答案 0 :(得分:2)

EXIF扩展是PHP发行版的标准部分,但必须在php.ini文件中启用它才能使用其功能。在Windows上,EXIF扩展还依赖于mbstring,这是一个提供多字节字符串解析的扩展。而且,php.ini文件中启用扩展的顺序很重要。如果在mbstring之前启用exif,则EXIF函数在运行时将不可用。

必须在EXIF!之前启用

mbstring扩展名

在您的情况下已启用,但php_exif.dll未启用。

如果您需要在您的环境中使用EXIF功能,无论是开发还是生产,您都需要牢记这一点。默认情况下,扩展按字母顺序在php.ini文件中排序。这使得当你开始撞墙时很容易遇到这种情况,因为即使你同时启用了EXIF和mbstring扩展,你也没有意识到为什么function_exists('exif_imagetype')会一直返回FALSE。

删除评论;并启用EXIF功能

答案 1 :(得分:1)

删除分号(;)

在:

;extension=php_exif.dll

后:

extension=php_exif.dll

保存php.ini,然后重启wampserver