2012-01-28 8 views
1

file_get_contentsでファイル( "http://feeds.artistdata.com/xml.shows/artist/AR-YX458DZO75EQACZ3/xml")をロードしようとしていますが、5-10秒以内にエラーが発生します。 xmlファイルはブラウザでうまく読み込まれますが、私がそれより小さいバージョン(上記のURLの最後に "/ future"を追加)を使用すると、file_get_contentsが正常に読み込まれます。PHP file_get_contents throw "ストリームのオープンに失敗しました:HTTP要求に失敗しました!"大きなXMLファイルにアクセスすると5〜10秒以内

スクリプトは次のとおりです。2つのエラーの

$file = "http://feeds.artistdata.com/xml.shows/artist/AR-YX458DZO75EQACZ3/xml"; 
$data = file_get_contents($file); 

一つが現れ、次のいずれか

Warning: file_get_contents("http://feeds.artistdata.com/xml.shows/artist/AR-YX458DZO75EQACZ3/xml") [function.file-get-contents]: failed to open stream: HTTP request failed! in MY_PHP_SCRIPT.php on line 2 

または:

Warning: file_get_contents("http://feeds.artistdata.com/xml.shows/artist/AR-YX458DZO75EQACZ3/xml") [function.file-get-contents]: failed to open stream: Connection timed out in MY_PHP_SCRIPT.php on line 2 

任意のアイデアは?私はusing cURL insteadを試しましたが、私がそれをすると "Error on Line 1"が表示されます。エラーは10秒以下で表示されるため、タイムアウトの問題は考えられません。これらのデフォルトはアプリに応じて通常15秒または30秒です。 XMLフィードが

$負荷=のfile_get_contents( 'http://artistdata.sonicbids.com/ari-herstand/shows/xml/')正常に動作するために

+0

ファイアウォールの背後にいますか? – Arjan

+0

あなたが示したリンクからcURLを使用したとき - あなたは変更しましたか? curl_setopt($ curl_handle、CURLOPT_CONNECTTIMEOUT、2); to: curl_setopt($ curl_handle、CURLOPT_CONNECTTIMEOUT、15); ? – alfasin

答えて

0

//はこれを使用します。

print_r($ load);

+0

アーティストデータの新しいURLについて知りたいですが、私はそれを使用するときに同じエラーが表示されます。私が増やすことができる15秒以内にデフォルトのタイムアウト値がありますか? – Micah

+0

artistdata.comが提供するURLを使用することをお勧めします。それはあなたが使いたいものです。実際のデータを別のURLに移動しても、それはうまくいくはずです。 – Arjan

+0

@puponpup .....そのサイトが更新されている場合は、結果が意味することを意味します。一度15秒間更新することができます。更新された結果を得ることができます。 –

0
  1. のfile_get_contents()が始まる文字列でファイルを返すバイトをmaxlenをするようにオフセット指定

  2. いずれかMAXLENGTHがゼロ未満であるか、またはオフセットが超えた場合にE_WARNINGレベルのエラーが生成されストリームの長さ。

+0

オフセットとmaxlengthの両方が指定されていないので、これは適用されません。 – Arjan

+0

あなたのファイルがおそらく上になったデフォルトのmaxlengthがあります。より小さなXMLファイルを試してみて、それがうまくいくならば、それが正しいことがわかります。 – alfasin

+0

デフォルトは、ファイルの終わりに達するまで読み取ります。 – Arjan

関連する問題