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 を必要とする特殊文字はありませんが、2 番目の URL には、.rss関連している場合は拡張子があります。

最初の呼び出しは機能し、サーバーで試してみると2番目にタイムアウトになりますが、ローカルホストでは完全に機能します。

これは私が得ているエラーです:

    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) ); }

Edit: file_get_contents を取得します URL の file_get_contents は、allow_url_fopen = 1 の場合にのみ機能します。 website.rssコンテンツを取得する cURL 関数が必要です。http://davidwalsh.name/curl-downloadのようなもの

于 2012-11-29T09:41:39.267 に答える