streamWrapper::stream_open

ファイルあるいは URL をオープンする

説明

public bool streamWrapper::stream_open(
    string $path,
    string $mode,
    int $options,
    stringnull &$opened_path
)

このメソッドは、ラッパーが初期化された (たとえば fopenfile_get_contents) 直後にコールされます。

パラメータ

path

元の関数に渡す URL を指定します。

注意:

parse_url でこの URL が壊れることがあります。 :// で区切った URL のみをサポートしていることに注意しましょう。 : や :/ も技術的な面では妥当な URL ですが、サポートしていません。

mode

ファイルをオープンする際のモード。詳細は fopen を参照ください。

注意:

指定した path に対して mode が有効かどうかの確認を忘れないようにしましょう。

options

ストリーム API が設定する追加のフラグ。次の値を OR で連結して指定します。

フラグ 説明
STREAM_USE_PATH path が相対パスの場合は、 include_path を用いてリソースを探します。
STREAM_REPORT_ERRORS このフラグが設定されている場合、 ストリームのオープン時のエラーを trigger_error で報告しなければなりません。フラグが設定されていない場合は、 エラーを一切報告してはいけません。

opened_path

path のオープンに成功し、 STREAM_USE_PATHoptions に設定されていた場合、 opened_path には実際にオープンしたファイル/リソース のフルパスを設定しなければなりません。

戻り値

成功した場合に true を、失敗した場合に false を返します。

エラー / 例外

このメソッドのコールに (未実装などの理由で) 失敗した場合、 E_WARNING を発行します。

注意

注意:

有効なコンテキストがコール元関数に渡された場合に streamWrapper::$context プロパティが更新されます。

参考

  • fopen
  • parse_url