我需要验证应用程序的大量图像文件,情况是我有10个目录,每个目录上有近10,000个图像,类似于100,000个文件。这些文件应该是gif文件,但很多(并且真的意味着很多)是jpg文件,设计师将扩展从.jpg更改为.gif而不转换文件格式。这导致应用程序崩溃,它使用这些图像创建pdf文件,如果我告诉程序使用文件somefile.gif但它确实是一个jpg,扩展名重命名为pdf creator崩溃。我不想打开像irfanview或photoshop这样的文件来验证格式,然后在必要时修改它。是否有一个库,类,插件或用PHP或其他语言的东西告诉我扩展名中没有基础的文件格式,但是在文件的标题中?
我找不到任何想法,有人可以帮助我吗?
提前做了很多!!!
答案 0 :(得分:5)
我个人使用exif_imagetype进行真正的验证,而不是检查扩展或mime类型。
答案 1 :(得分:2)
如果您需要在gif或jpeg之间找到答案,函数getimagesize()
可以为您做到这一点。请参阅http://php.net/getimagesize。
list(,,$imageType) = getimagesize($path);
if ($imageType === IMAGETYPE_GIF) {
// GIF found
}