PHP-GD Как я могу проверить тип (jpeg, gif ..) с URL facebook?

#php #facebook #gd #php-gd

#php #Facebook #gd #php-gd

Вопрос:

Если у пользователя нет фотографии facebook, вместо jpeg получите gif. Как я могу проверить тип?

Я попробовал следующее:

 $PIC_Friend = imagecreatefromstring(file_get_contents('http://graph.facebook.com/'. id .'/picture?width=50amp;height=50')); 
if(imagejpeg($PIC_Friend)) { 
..
} elseif (imagegif($PIC_Friend)) { 
...
  

Это работает, но заменяет весь мой шаблон (остальные элементы php) и показывает только фотографию обвиняемого метода imagejpg imagegif и т.д. ..

Ответ №1:

ОК.

Решение простое.. просто используйте php-метод exif_imagetype.

http://php.net/manual/en/function.exif-imagetype.php

Ответ №2:

 $img_info = getimagesize($file_path);
if($img_info['mime'] == 'image/pjpeg' || $img_info['mime'] == 'image/jpeg') {
    echo 'It is a .jpeg';
}
  

Ответ №3:

Вы можете использовать exif_imagetype

 $type = exif_imagetype('path/to/yourImage');
  

$type может быть IMAGETYPE_GIF,IMAGETYPE_JPEG,IMAGETYPE_PNG,... .
Этот метод намного быстрее, чем getimagesize . Он выведет, false если ваш файл не является изображением.

Ответ №4:

Вы можете читать заголовки с get_headers

 $headers = get_headers('http://graph.facebook.com/'. id .'/picture?width=50amp;height=50');
  

Вывод

 array(22) 
{
  [0]=> string(23) "HTTP/1.1 302 forced.302"
  ...
  [14]=> string(24) "Content-Type: image/jpeg"
  ...
  string(17) "Connection: close"
}