php - 检查图像在 PHP 中是否有效的最好和最快的方法是什么?

标签 php image

在 PHP 中检查图像是否有效的最好和最快的方法是什么? 我需要它来检查 GIF、JPG 和 PNG 图像。

最佳答案

exif_imagetype是更好的解决方案。

此方法比使用 getimagesize 更快。引用php.net “返回值与 getimagesize() 在索引 2 中返回的值相同,但 exif_imagetype() 快得多。”

if(exif_imagetype('path/to/image.jpg')) {
    // your image is valid
}

更新:

在读到 getimagesize 可能不可靠之后,我试图找到更多关于哪些文件类型会产生误报的信息,但找不到更多信息,因此进行了一个简短的测试(使用 exif_imagetype):

PowerPoint-survey-results.pptx - N
LRMonoPhase4.wav               - N
TestWordDoc.doc                - N
drop.avi                       - N
test.dll                       - N
raw_data_sample.sav            - N
text.txt                       - N
Excel-survey-results.xlsx      - N
pdf-test.pdf                   - N
simplepie-1.5.zip              - N
Word-survey-results.docx       - N
centaur_1.mpg                  - N
Test.svg                       - N
multipage_tif_example.tif      - Y
200.gif                        - Y
Test.png                       - Y
test.jpg                       - Y

我意识到这并不详尽,但至少表明对于常见的文件类型,结果符合预期。

关于php - 检查图像在 PHP 中是否有效的最好和最快的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7393419/

相关文章:

JQuery - 如何平滑地调整图像大小以创建脉动效果?

Android动态显示图像

JavaScript Image().width 返回 0

android - 是否可以在 ImageView 中获取图像的图像路径?

PHP 使用 SMTP 发送电子邮件密件抄送和抄送

php - 如何在 Windows 下的 PHP 中获取*任意*(即不是当前)用户的主目录?

javascript - 通过 json 发送 3 个变量未正确发送

php - MYSQL:列出其值 = "Yes"的所有列名

PHP Redis超时,连接读取错误?

python - Python 中的 PIL 提示 PixelAccess 没有 'size' 属性,我做错了什么?