ホームページ > バックエンド開発 > PHPチュートリアル > リンクをループするために「file_get_contents()」でタイムアウトを設定するにはどうすればよいですか?

リンクをループするために「file_get_contents()」でタイムアウトを設定するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-28 19:05:10
オリジナル
497 人が閲覧しました

How to Configure Timeouts in `file_get_contents()` for Looping Through Links?

file_get_contents() のタイムアウト設定

ループ内で file_get_contents() を利用して複数のリンクからコンテンツを取得する場合、潜在的な可能性を考慮することが重要です。タイムアウト。

File_get_contents()タイムアウト期間:

はい、file_get_contents() には、default_socket_timeout ini 設定によって定義されたデフォルトのタイムアウト期間があり、60 秒 (1 分) に設定されています。これは、リモート リソースへの接続の確立に 60 秒以上かかる場合、file_get_contents() がタイムアウトになることを意味します。

タイムアウトのカスタマイズ:

デフォルトをオーバーライドするにはタイムアウト、次を使用できますメソッド:

  • ini_set(): その場でdefault_socket_timeout設定を調整します。たとえば、15 分のタイムアウトを設定するには:
ini_set('default_socket_timeout', 900); // 900 Seconds = 15 Minutes
ログイン後にコピー
  • stream_context_create(): HTTP コンテキストを作成し、HTTP コンテキスト オプションとしてタイムアウトを指定します。
$ctx = stream_context_create(array('http' =>
    array(
        'timeout' => 1200,  //1200 Seconds is 20 Minutes
    )
));

echo file_get_contents('http://example.com/', false, $ctx);
ログイン後にコピー

カスタム タイムアウトを設定することで、次のことを保証できます。 file_get_contents() は、タイムアウトになるまで指定された期間待機します。これにより、スクリプトの動作をより詳細に制御できるようになり、スクリプトが途中で次のリンクに移動するのを防ぐことができます。

以上がリンクをループするために「file_get_contents()」でタイムアウトを設定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート