PHP マニュアル
前のページ |  | 次のページ

# php_stream_open_wrapper

php_stream_open_wrapper -- ファイルまたはURLをオープンする

## 説明

php_stream * php_stream_open_wrapper ( char * path, char * mode, int options, char ** opened )

php_stream_open_wrapper() は `path` で指定されたファイルやURLなどのラップされたリソースのストリームを開きます。 `mode` によって、ストリームを読み出し用、書き出し用、 追記用、あるいはその組み合わせで開くことができます。指定できる種々のモード については下記の表をご覧ください。それらの文字列に加え、文字 'b' を モード文字列の2文字目、または末尾に含めることができます。 この文字 'b' は、該当するストリームの実装に対し、バイナリセーフなモードで ストリームを開くよう指示します。

文字 'b' は、すべての POSIX に準拠したシステム上では、バイナリファイルと テキストファイルが同列に扱われるため、無視されます。アクセスするデータ において、8 ビットすべてが重要な際には、この 'b' 文字を指定しておくのは、 'b' フラグが意味を持つシステムでも同じスクリプトを動かせるので、 よいアイディアといえます。

ストリーム API によって作成されたすべてのローカルにあるファイルの パーミッションは、オペレーティングシステムのデフォルトに従って 設定されます - Unix ベースのシステムでは、ファイルを作成したプロセスの umask が反映されます。また、Windows では、ファイルを作成したプロセスが ファイルを所有します。 リモートにあるファイルについては、ファイルを開くのに用いた URL ラッパー の設定や、リモートのサーバに与えられた信頼情報に応じて作成されます。

`r`

  ファイルを読み出し用に開きます。このとき、ストリームの位置は、 ファイルの先頭に移動されます。

`r+`

  ファイルを読み書き用に開きます。このとき、ストリームの位置は、 ファイルの先頭に移動されます。

`w`

  ファイルの内容を長さ 0 に切り詰めるか、新規にファイルを作成し、 書き出しモードで開きます。このとき、ストリームの位置は、 ファイルの先頭に移動されます。

`w+`

  ファイルを読み書き用に開きます。もし指定されたファイルが存在 しない場合は、新規に作成し、存在する場合は、長さを切り詰めます。 このとき、ストリームの位置は、ファイルの先頭に移動されます。

`a`

  ファイルを書き出し用に開きます。もしファイルが存在しない場合は、 新規に作成します。このとき、ストリームの位置は、ファイルの 末尾に移動されます。

`a+`

  ファイルを読み書き用に開きます。もし指定されたファイルが存在 しない場合は、新規に作成します。このとき、ストリームの位置は、 ファイルの末尾に移動されます。

`options` は、ストリームへのパスや URL をどのように 解釈するかや、セーフモードチェック、ストリームを開くときにエラーが 発生した場合のアクションに影響します。このオプションに関しては、 Stream open options を参照ください。

もし `opened` が NULL でなければ、実際に 開かれたファイルやリソースの名前がセットされます。これは、 オプションに include_path に列挙されたパスからファイルを探すよう指示する `USE_PATH` が含まれている時に重要になります。 呼び出し元は、最後にこのパラメータによって返されたファイル名を efree() の呼び出しによって開放する必要があります。

> 注意: もし、`STREAM_MUST_SEEK` を `options` に指定した場合、`opened` に返されたファイルへのパス は、実際に返されるストリームのものと違う場合があります。しかし、これは シーク可能なストリームを作るのに用いられた元のストリームの名前になります。

前のページ | ホーム | 次のページ
php_stream_stat | 上に戻る | php_stream_read