【PHP8.x】stream_context_set_default関数の使い方

作成日: 更新日:

stream_context_set_default関数は、PHPアプリケーション内で実行されるストリーム操作に対する、共通のデフォルト設定を定義・適用する関数です。この関数を利用することで、ファイルアクセスやネットワーク通信といったストリーム関連の処理において、個々の操作ごとに設定を記述する手間を省き、一貫した動作を保証することができます。

具体的には、HTTPリクエストのタイムアウト時間、カスタムHTTPヘッダーの追加、SSL/TLS接続における証明書の検証方法、プロキシの使用といった詳細なオプションを、デフォルトのコンテキストとして設定することが可能です。設定は、オプションとその値を含む連想配列として引数に渡します。この配列の形式は、stream_context_create()関数が受け入れるものと同様です。

一度stream_context_set_default()関数で設定されたデフォルトコンテキストは、その後に実行されるfile_get_contents()fopen()など、明示的にコンテキストが指定されていないすべてのストリーム操作に自動的に適用されます。これにより、アプリケーション全体で特定のポリシーや挙動を統一したい場合に非常に役立ちます。関数が成功すると、設定されたストリームコンテキストを表すリソースが返されます。

基本的な使い方

構文(syntax)

stream_context_set_default([
    'http' => [
        'user_agent' => 'MyApplication/1.0',
    ],
]);

引数(parameters)

array $options

  • array $options: ストリームコンテキストのデフォルトオプションを指定する連想配列

戻り値(return)

resource

stream_context_set_default 関数は、デフォルトのストリームコンテキストリソースを返します。このリソースは、後続のストリーム操作でデフォルトとして使用されます。

【PHP8.x】stream_context_set_default関数の使い方 | いっしー@Webエンジニア