我正在使用Facebook php SDK通过他们的Facebook帐户注册我的用户。我将我需要的所有数据存储在我的sql数据库中,然后我可以通过以下方式访问图片:
<img src="https://graph.facebook.com/<?php echo $user;?>/picture">
我想将图像(实际图像而不仅仅是链接)存储在我的一个服务器文件夹中,以便用户可以在不访问其Facebook个人资料的情况下进行更改。
有可能吗?
答案 0 :(得分:3)
这应该做你想要的,并将图像放入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);
?>