开发者

How do I load the contents of an rss feed rendered by php?

开发者 https://www.devze.com 2022-12-17 06:20 出处:网络
Wor开发者_高级运维dpress is rendering an RSS feed at http://myurl.com/feed/rss/ but of course there\'s not actually a file there.I\'m writing a script to read and render the RSS, but loading the \"fil

Wor开发者_高级运维dpress is rendering an RSS feed at http://myurl.com/feed/rss/ but of course there's not actually a file there. I'm writing a script to read and render the RSS, but loading the "file" as XML fails, because there's not actually a file there. I write:

$rss = simplexml_load_file('/news/feed/rss/');

And I get this error:

Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity "/news/feed/rss/"

Even using file_get_contents gives me this error:

Warning: file_get_contents(/news/feed/rss/) [function.file-get-contents]: failed to open stream: No such file or directory


The file isn't there because the url is being redirected, but you're trying to access it as a file. Assuming you have the correct fopen wrappers (and everyone does), try opening the url with simplexml:

$rss = simplexml_load_file('http://myurl.com/news/feed/rss/');


The best way is to use Curl ( http://us2.php.net/manual/en/book.curl.php ) for loading external content because you can manipulate with headers etc., it also supports redirects etc.

For example, if mod_security is installed on apache - you wouldn't be able to grab content without passing user-agent header etc., but Curl will definately will help with it.

0

精彩评论

暂无评论...
验证码 换一张
取 消