Мне нужно изображение пользователя как объект изображения в PHP.
Очевидным выбором будет сделать следующее:
$url = 'https://graph.facebook.com/'.$fb_id.'/picture?type=large';
$img = imagecreatefromjpeg($url);
Это работает на моем тестовом сервере, но не на сервере, который должен в конечном итоге запускаться этим скриптом (allow_url_fopen там выключен).
Итак, я попытался получить изображение с помощью curl:
function LoadJpeg($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
$fileContents = curl_exec($ch);
curl_close($ch);
$img = imagecreatefromstring($fileContents);
return $img;
}
$url = 'https://graph.facebook.com/'.$fb_id.'/picture?type=large';
$img = LoadJpeg($url);
Это, однако, не работает с фотографиями профиля в Facebook .
Например, загрузка логотипа Googles с google.com с помощью curl работает отлично.
Может кто-нибудь сказать мне, почему или как мне добиться того, что я пытаюсь сделать?