在 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/