2

我有这个代码:

$feed = 'urltorss';
$feeds =  new SimpleXmlElement( file_get_contents($feed) );


$feed = 'http://www.businessweek.com/feeds/homepage.rss';
$feeds =  new SimpleXmlElement( file_get_contents($feed) );

现在两个url 都没有任何特殊字符需要对它们进行 url 编码,但是第二个 url.rss如果相关,则具有扩展名。

第一次调用有效,当我在我的服务器上尝试时,我在第二次超时,但在 localhost 上完美运行。

这是我得到的错误:

    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

这是为什么?

4

1 回答 1

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

于 2012-11-29T09:41:39.267 回答