在我的项目中,当用户从登录时Facebook
,个人资料图片将被保存。这是工作。但是,如果没有图像,则还会0 Byte
保存文件。
如何检查包含图片的网址并仅在图片可用时保存
PHP示例代码如下
function DownloadImage($url, $dest){
$curl = curl_init($url);
$fp = fopen($dest, 'wb');
curl_setopt($curl, CURLOPT_FILE, $fp);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_exec($curl);
curl_close($curl);
fclose($fp);
}
try{
$type='large';
$social_id='1234';
DownloadImage('https://graph.facebook.com/'.$social_id.'/picture?type='.$type.'&access_token=[your access token]', $type.'.jpg');
}
catch(Exception $errr){
echo $errr;
}
您可以随时检查curl返回的标头信息curl_getinfo()
(有关更多信息,请访问php.net)
因此,在您的情况下,您可以curl_getinfo($curl, CURLINFO_CONTENT_LENGTH_DOWNLOAD)
查看返回了多少字节。
我也认为,如果找不到图片,facebook应该返回不同的HTTP代码,因此您可以尝试curl_getinfo($curl, CURLINFO_HTTP_CODE)
。应该是200
找到图片,404
否则找到图片。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句