2010-10-23 42 views
0

您好我想知道如何使用php下载文件到变量(或内存)。我已经尝试使用file_get_contents和一些RSS提要PHP库没有输出(即使与var_dump)。这是我想访问的网址:以编程方式将文件下载到内存php

http://www.facebook.com/feeds/friends_status.php?id=MY_USER_ID&key=SECRET_KEY&format=rss20

MY_USER_ID是我的Facebook ID,SECRET_KEY是秘密密钥。我正在使用RSS提要方法,因为我已经尝试了约5个小时来制作一个facebook canvas应用程序,它可以取得我朋友的姓名和状态,但没有成功。

编辑:您可以访问饲料无404错误用替换“HTTP”“喂”

回答

2

很多的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') 
+0

我得到错误的结果。如果我将该网址复制并粘贴到Safari浏览器下载框中,它会下载到具有正确内容的新文件。虽然这是一个有点题外话... – alexy13 2010-10-23 01:11:58

+0

没问题。在curl_close()语句之前,添加:echo curl_error($ ch);看看你有什么样的错误。 – mellowsoon 2010-10-23 01:17:20

+0

错误:无法解析主机'www.facebook.com' – alexy13 2010-10-23 01:22:41

相关问题