Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
以编程方式将文件下载到php内存中_Php_Facebook - Fatal编程技术网

以编程方式将文件下载到php内存中

以编程方式将文件下载到php内存中,php,facebook,Php,Facebook,嗨,我想知道如何用php将文件下载到变量(或内存)中。我尝试过使用file_get_内容和一些没有输出的RSS提要php库(即使使用var_dump)。这是我尝试访问的url: 我的用户ID是我的facebook ID,秘钥是秘钥。我之所以使用RSS提要方法,是因为我已经尝试了大约5个小时来制作一个facebook画布应用程序,获取我朋友的姓名和状态,但没有成功 编辑:通过将“http”替换为“feed”,可以访问提要而不会出现404错误。许多API都需要用户代理字符串。所以你可以试着设置它。

嗨,我想知道如何用php将文件下载到变量(或内存)中。我尝试过使用file_get_内容和一些没有输出的RSS提要php库(即使使用var_dump)。这是我尝试访问的url:

我的用户ID是我的facebook ID,秘钥是秘钥。我之所以使用RSS提要方法,是因为我已经尝试了大约5个小时来制作一个facebook画布应用程序,获取我朋友的姓名和状态,但没有成功


编辑:通过将“http”替换为“feed”,可以访问提要而不会出现404错误。

许多API都需要用户代理字符串。所以你可以试着设置它。您可以使用cURL获取文件,并更改标题。尝试此功能:

    function getUrl($url) {
        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0");
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $output = curl_exec($ch);      
        curl_close($ch);
        return $output;
    }
用法:

$file = getUrl('http://www.facebook.com/feeds/friends_status.php?id=MY_USER_ID&key=SECRET_KEY&format=rss20')

结果是我错了。如果我将url复制并粘贴到safari下载框中,它将下载到具有正确内容的新文件中。虽然这有点离题…没问题。在curl\u close()语句之前,添加:echo curl\u error($ch);看看你犯了什么样的错误。这很有趣!它在其他主机上工作吗?例如,尝试抓取“.”是的,它与谷歌和苹果合作。它显示了一个301移动页面:PVery好奇。。人力资源管理。。我想知道如果你尝试使用Facebook的IP(69.63.181.12),会发生什么。您还可以通过添加:curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1)来绕过301。