残念ながら、私の csvarray の他の URL は処理されません。これは、スクリプトがこの URL の後でリダイレクトの問題で停止するためです。
file_get_contents() redirection limit reached
エラーのため、スクリプトは停止しません。file_get_contents()
これは致命的ではないE_WARNING
エラーであり、script を停止しません。
私の推測では、最大実行時間の制限またはその他のエラーが原因で、スクリプトが停止したと思われます。ini_set('display_errors', true);
あなたのerror_reporting(-1);
呼び出しをファイルの先頭に置きます。
この警告を無視して次の URL に進むにはどうすればよいですか?
1. 最も簡単で初心者向けの解決策は、@
プレフィックス付きのエラーを無視することです。
$html = @file_get_contents('http://bit.ly/6wgJO');
file_get_contents()
2. 3 番目のパラメーター$context
( context options および parameters )を使用して、最大リダイレクト数を増減できます。
$context = stream_context_create(['http' => ['max_redirects' => 50]]);
$html = @file_get_contents('http://bit.ly/6wgJO', false, $context);
3. エラーを非表示にするその他の解決策はignore_errors
、コンテキスト オプションにあります。
$context = stream_context_create(['http' => ['max_redirects' => 0, 'ignore_errors' => true]]);
$html = file_get_contents('http://bit.ly/6wgJO', false, $context);
4. cURLを使用します。
- cURL で魔法をかけることができます。
- リダイレクトに従う場合は、オプション
CURLOPT_FOLLOWLOCATION
をtrue
orに設定します。false
CURLOPT_MAXREDIRS
従う最大リダイレクト数のオプションを設定することもできます.
CURLOPT_TIMEOUT
cURL 関数の実行を許可する最大秒数のオプションを設定します。
その他のオプションはこちらをご覧ください。