1

我正在使用 cURL 从 Facebook SDK 获取图像,但提供的图像是 JFIF 格式。我尝试使用一些函数来转换它, asimagejpeg()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) 不可读且大小为 0KB。

4

1 回答 1

0

JFIF 已经是 JPEG,带有关于照片中人物的附加元数据。有关更多信息,请参阅https://www.rfc-editor.org/rfc/rfc2798#page-5。JFIF 专门用于人物照片。您的主机需要 imagejpeg() 和 bundle 才能使用 jpeg。将其安装为 PHP 模块。

于 2019-04-08T19:15:55.187 回答