如何用PHP验证图像格式

时间:2013-04-11 20:55:52

标签: php image format

我需要验证应用程序的大量图像文件,情况是我有10个目录,每个目录上有近10,000个图像,类似于100,000个文件。这些文件应该是gif文件,但很多(并且真的意味着很多)是jpg文件,设计师将扩展从.jpg更改为.gif而不转换文件格式。这导致应用程序崩溃,它使用这些图像创建pdf文件,如果我告诉程序使用文件somefile.gif但它确实是一个jpg,扩展名重命名为pdf creator崩溃。我不想打开像irfanview或photoshop这样的文件来验证格式,然后在必要时修改它。是否有一个库,类,插件或用PHP或其他语言的东西告诉我扩展名中没有基础的文件格式,但是在文件的标题中?

我找不到任何想法,有人可以帮助我吗?

提前做了很多!!!

2 个答案:

答案 0 :(得分:5)

我个人使用exif_imagetype进行真正的验证,而不是检查扩展或mime类型。

答案 1 :(得分:2)

如果您需要在gif或jpeg之间找到答案,函数getimagesize()可以为您做到这一点。请参阅http://php.net/getimagesize

list(,,$imageType) = getimagesize($path);
if ($imageType === IMAGETYPE_GIF) {
    // GIF found
}