如何在我的“img”文件夹中上传Facebook图像?

时间:2012-06-07 13:58:08

标签: php facebook-graph-api facebook-php-sdk

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

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

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

有可能吗?

1 个答案:

答案 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);
?>