2013-09-18 3 views
0

Ниже приведен код, который я использовал для чтения zip-файла. Zip-файл содержит изображения. Ниже код работает нормально. Я тоже прошел через PHP-документ. Существует не путь к правдивости типа конкретной записи, которую вы читаете, используя zip_entry_readКак проверить тип содержимого файла изображения, хранящегося в ZIP-архиве?

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 функцию?

ответ

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 расширение, которое должно быть на месте - но опять же, возможно, вы уже загрузили его.

Смежные вопросы