0

我正在使用 Facebook php SDK 将我的用户注册到他们的 Facebook 帐户。我将所需的所有数据都存储在我的 sql 数据库中,并且可以通过以下方式访问图片:

<img src="https://graph.facebook.com/<?php echo $user;?>/picture">

我想将图像(实际图像而不仅仅是链接)存储在我的一个服务器文件夹中,这样用户就可以在不访问他的 Facebook 个人资料的情况下更改它。

有可能做到吗?

4

1 回答 1

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);
?>
于 2012-06-07T14:21:45.167 回答