如何验证ZIP存档中存储的图像文件的内容类型?

时间:2013-09-18 05:32:54

标签: php zip mime-types

以下是我用来读取zip文件的代码。 Zip文件包含图像。下面的代码工作正常。我也浏览了PHP文档。没有办法验证您使用zip_entry_read

读取的特定条目的类型
if ($zip) 
{
    while ($zip_entry = zip_read($zip)) 
    {

        if (zip_entry_open($zip, $zip_entry, "r")) 
        {

            $imgContent = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry)); // File Contents

            /* how to verify it's an image before image manipulation ? */

            /* image manipulation code goes here */

            zip_entry_close($zip_entry);

        }

    }

    zip_close($zip);

}

我的问题是如何验证这是我使用zip_entry_read函数读取的图像?

1 个答案:

答案 0 :(得分:0)

一种可能的方法:

$imageInfo = getimagesizefromstring($imgContent);
if ($imageInfo !== false) { 
  // that's an image
}

此外,您可能需要检查图像的MIME类型(例如,正确设置Content-Type标题):

$imageMimeType = image_type_to_mime_type($imageInfo[2]);

请注意,getimagesizefromstring()image_type_to_mime_type()都需要GD扩展名 - 但是,您可能已经加载了它。