如何从此Facebook网址获取图像并将其保存到我的服务器

时间:2015-07-23 16:38:33

标签: php facebook facebook-graph-api curl

我正在使用facebook图形API和cURL来保存图像。

API提供的图像的一些网址很好并且与下面的代码完美配合,但其他网址不是实际的图像文件,例如

https://scontent.xx.fbcdn.net/hphotos-xat1/v/t1.0-9/10173560_10154038367445545_5235985017751927246_n.jpg?oh=dea01d8125a54a6bbcba7d5fe5fb795c&oe=564C01E1

所以以下内容不起作用,因为我收到的回复是html ...

        $url = "https://scontent.xx.fbcdn.net/hphotos-xat1/v/t1.0-9/10173560_10154038367445545_5235985017751927246_n.jpg?oh=dea01d8125a54a6bbcba7d5fe5fb795c&oe=564C01E1";
        $local_file = $UploadDirectory.$NewFileName;
        $remote_file = $url;
        $ch = curl_init();
        $fp = fopen ($local_file, 'w+');
        $ch = curl_init($remote_file);
        curl_setopt($ch, CURLOPT_TIMEOUT, 50);
        curl_setopt($ch, CURLOPT_FILE, $fp);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($ch, CURLOPT_ENCODING, "");
        curl_setopt($ch, CURLOPT_REFERER, "http://www.google.com");
        curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
        curl_exec($ch);
        curl_close($ch);
        fclose($fp);

我问了一个类似的问题here,但这实际上只回答了图像发生的问题。

编辑:这个问题与引用的问题不同,因为在这里我要求实际从网址获取图像,而在另一个问题中,我不确定为什么我没有看到图像保存。

我现在有一个答案,我认为可以帮助其他人,我会删除下面的内容,如果重新打开则将其添加为答案。

file_put_contents("image.jpg", file_get_contents("https://scontent.xx.fbcdn.net/hphotos-xaf1/v/t1.0-9/522827_10152235166655545_26514444_n.jpg?oh=1d52a86082c7904da8f12920e28d3687&oe=5659D5BB"));

0 个答案:

没有答案