如何保存Facebook用户显示图片到磁盘而不使用file_get_contents()`?

时间:2012-03-25 21:33:27

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

您好我正在尝试获取用户个人资料照片,然后根据我的Facebook应用程序要求合并到现有图像中。为此我需要检查它的哑剧时间等。但是我在检索和保存图片时遇到了困难。

        $facebook = new Facebook($config);
        $user = $facebook -> getUser();
        if ($user) {
            $user_profile = $facebook -> api('/me');
        }

        //User Info. Variables:
        try {
            $userPpicture = $user_profile[picture];
            }

现在我已经检索到这个我想将这个图像保存在磁盘上,这样我就可以检查它的mime时间等进行进一步处理,我该怎么做呢?

P.S。由于我的托管服务器限制,我无法使用函数file_get_contents()。所以除了这个我需要一个解决方案。

请帮助。 谢客。


cURL尝试:

    //Create image instances
        $url = "http://graph.facebook.com/{$userId}/picture?type=large";
        $dpImage = 'temp/' . $userId . '_dpImage_' . rand().'.jpg';
        echo $dpImage;

        function get_data($url) {
            $ch = curl_init();
            $timeout = 5;
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
            $data = curl_exec($ch);
            curl_close($ch);
            return $data;
        }

        $returned_content = get_data($url);
        file_put_contents($dpImage, $returned_content);
        echo "Type: " . exif_imagetype($dpImage);

在检查图像的mime类型时出现此错误: Notice: exif_imagetype(): Read error! in

1 个答案:

答案 0 :(得分:1)

您是否可以使用CURL?

如果是,请点击http://phpsense.com/2007/php-curl-functions/