我有这段代码:
$feed = 'urltorss';
$feeds = new SimpleXmlElement( file_get_contents($feed) );
$feed = 'http://www.businessweek.com/feeds/homepage.rss';
$feeds = new SimpleXmlElement( file_get_contents($feed) );
现在两个网址都没有任何需要对其进行网址编码的特殊字符,但如果第二个网址相关,则第二个网址的扩展名为.rss
。
第一次通话工作正常,当我在我的服务器上试用时,我在第二次通话时会超时,但在本地主机上工作正常。
这是我得到的错误:
Severity: Warning
Message: file_get_contents('http://www.businessweek.com/feeds/homepage.rss')
[function.file-get-contents]:
failed to open stream: Connection timed out
Filename: controllers/mailsystem.php
Line Number: 36
为什么?
答案 0 :(得分:1)
首先,检查你的路径如此
echo $feed; // just for debug
然后检查内容
$content = @file_get_contents($feed);
最后,得到XML
if( $content ) { $feeds = new SimpleXmlElement( file_get_contents($feed) ); }
编辑:URL的file_get_contents仅在您有allow_url_fopen = 1时才有效。要获取http://www.businessweek.com/feeds/homepage.rss的内容,您需要一个获取内容的cURL函数。像http://davidwalsh.name/curl-download
答案 1 :(得分:-2)
我的问题本身就“固定”了,我想这是一个暂时的问题,不知道发生了什么,我接受了另一个答案,因为这是一个很好的做法。