php - exif_imagetype 在 Windows 中不起作用

标签 php image-uploading exif

我正在 Windows 中使用 cakephp 2.4 开发应用程序,我需要在其中创建图像上传工具。但是当我使用 exif_imagetype 时,它​​给了我 fatal error 。因此,使用此代码我检查了 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

最佳答案

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

mbstring 扩展必须在 EXIF 之前启用!

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

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

去掉注释;并启用EXIF功能

关于php - exif_imagetype 在 Windows 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20409548/

相关文章:

php - 我如何在 linux 上编译以与所有发行版共享?

php - 表格中每一列的频率列表

php - 试过这个:SQL syntax error - can not insert multiple rows

php - 从数据库创建谷歌站点地图

java - 使用 java commons-imaging 访问 jpeg 标签

ruby-on-rails - 使用载波和rmagick上传到s3的exif图像旋转问题

iphone - 如何访问 iOS 4.0+ 相机拍摄的照片中的照片 EXIF?

ruby-on-rails - Carrierwave - 添加或删除图像时多张图像上传速度太慢

python - 如何从 Django 中的 request.FILE 获取文件名?

php - 如何将图像从一个文件夹移动到另一个文件夹?