Facebook SDK вернуть изображение профиля в формате JFIF, как конвертировать в JPG / PNG в PHP? - PullRequest
0 голосов
/ 08 апреля 2019

Я использую cURL для получения изображения из Facebook SDK, но предоставленное изображение в формате JFIF. Я пытался использовать некоторые функции для его преобразования, например imagejpeg() и imagepng(), но мой хост не поддерживает их. Я также попытался декодировать файл как , описанный здесь , но безуспешно. Любая помощь или предложения будут оценены.

//Image handler
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_URL, $jsonresponse['url']);
$data = curl_exec($ch);
curl_close($ch);

$dataDecoded = base64_decode($data); //Last try with base64 decoder
$fb_image = 'fb_picture.jpg';
file_put_contents($fb_image, $dataDecoded); 

У меня нет ошибок, но сохраненное изображение (fb_picture.jpg) не читается и имеет размер 0 КБ.

1 Ответ

1 голос
/ 08 апреля 2019

JFIF - это уже JPEG с дополнительными метаданными о человеке на фотографии. См. https://tools.ietf.org/html/rfc2798#page-5 для получения дополнительной информации. JFIF используется специально для фотографий людей. Вашему хосту нужны imagejpeg () и bundle для работы с jpeg. Установите его как модуль PHP.

...