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.
精彩评论