0

下面是我用来读取 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函数读取的图像?

4

1 回答 1

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扩展才能到位 - 但话又说回来,您可能已经加载了它。

于 2013-09-18T06:07:40.100 回答