php_stream_open_wrapper() は path
で指定されたファイルやURLなどのラップされたリソースのストリームを開きます。
mode
によって、ストリームを読み出し用、書き出し用、
追記用、あるいはその組み合わせで開くことができます。指定できる種々のモード
については下記の表をご覧ください。それらの文字列に加え、文字 'b' を
モード文字列の2文字目、または末尾に含めることができます。
この文字 'b' は、該当するストリームの実装に対し、バイナリセーフなモードで
ストリームを開くよう指示します。
文字 'b' は、すべての POSIX に準拠したシステム上では、バイナリファイルと テキストファイルが同列に扱われるため、無視されます。アクセスするデータ において、8 ビットすべてが重要な際には、この 'b' 文字を指定しておくのは、 'b' フラグが意味を持つシステムでも同じスクリプトを動かせるので、 よいアイディアといえます。
ストリーム API によって作成されたすべてのローカルにあるファイルの パーミッションは、オペレーティングシステムのデフォルトに従って 設定されます - Unix ベースのシステムでは、ファイルを作成したプロセスの umask が反映されます。また、Windows では、ファイルを作成したプロセスが ファイルを所有します。 リモートにあるファイルについては、ファイルを開くのに用いた URL ラッパー の設定や、リモートのサーバに与えられた信頼情報に応じて作成されます。
ファイルを読み出し用に開きます。このとき、ストリームの位置は、 ファイルの先頭に移動されます。
ファイルを読み書き用に開きます。このとき、ストリームの位置は、 ファイルの先頭に移動されます。
ファイルの内容を長さ 0 に切り詰めるか、新規にファイルを作成し、 書き出しモードで開きます。このとき、ストリームの位置は、 ファイルの先頭に移動されます。
ファイルを読み書き用に開きます。もし指定されたファイルが存在 しない場合は、新規に作成し、存在する場合は、長さを切り詰めます。 このとき、ストリームの位置は、ファイルの先頭に移動されます。
ファイルを書き出し用に開きます。もしファイルが存在しない場合は、 新規に作成します。このとき、ストリームの位置は、ファイルの 末尾に移動されます。
ファイルを読み書き用に開きます。もし指定されたファイルが存在 しない場合は、新規に作成します。このとき、ストリームの位置は、 ファイルの末尾に移動されます。
options
は、ストリームへのパスや URL をどのように
解釈するかや、セーフモードチェック、ストリームを開くときにエラーが
発生した場合のアクションに影響します。このオプションに関しては、
Stream open options を参照ください。
もし opened
が NULL でなければ、実際に
開かれたファイルやリソースの名前がセットされます。これは、
オプションに include_path に列挙されたパスからファイルを探すよう指示する
USE_PATH が含まれている時に重要になります。
呼び出し元は、最後にこのパラメータによって返されたファイル名を
efree() の呼び出しによって開放する必要があります。
注意: もし、STREAM_MUST_SEEK を
options
に指定した場合、opened
に返されたファイルへのパス は、実際に返されるストリームのものと違う場合があります。しかし、これは シーク可能なストリームを作るのに用いられた元のストリームの名前になります。