我正在使用 Facebook php SDK 将我的用户注册到他们的 Facebook 帐户。我将所需的所有数据都存储在我的 sql 数据库中,并且可以通过以下方式访问图片:
<img src="https://graph.facebook.com/<?php echo $user;?>/picture">
我想将图像(实际图像而不仅仅是链接)存储在我的一个服务器文件夹中,这样用户就可以在不访问他的 Facebook 个人资料的情况下更改它。
有可能做到吗?
我正在使用 Facebook php SDK 将我的用户注册到他们的 Facebook 帐户。我将所需的所有数据都存储在我的 sql 数据库中,并且可以通过以下方式访问图片:
<img src="https://graph.facebook.com/<?php echo $user;?>/picture">
我想将图像(实际图像而不仅仅是链接)存储在我的一个服务器文件夹中,这样用户就可以在不访问他的 Facebook 个人资料的情况下更改它。
有可能做到吗?
这应该做你想做的,并将图像放入 images/facebook/[USERID].jpg。
请记住,您可能应该使用 cURL 而不是 file_get_contents,这样您就可以为超时和较长的响应时间做好准备(这将与 facebook API 一起使用。
<?php
$imageData = file_get_contents("https://graph.facebook.com/" . $user . "/picture");
file_put_contents("images/facebook/" . $user . ".jpg", $imageData);
?>
这就是您使用 cURL 的方式(未经测试,但应该可以):
<?php
$facebookCurl = curl_init();
curl_setopt($facebookCurl, CURLOPT_URL, "https://graph.facebook.com/" . $user . "/picture");
curl_setopt($facebookCurl, CURLOPT_HEADER, 0);
curl_setopt($facebookCurl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($facebookCurl, CURLOPT_TIMEOUT, 5);
$imageData = curl_exec($facebookCurl);
curl_close($facebookCurl);
file_put_contents("images/facebook/" . $user . ".jpg", $imageData);
?>