PHP Australia Conference 2015

stream_filter_prepend

(PHP 4 >= 4.3.0, PHP 5)

stream_filter_prependフィルタをストリームに付加する

説明

resource stream_filter_prepend ( resource $stream , string $filtername [, int $read_write [, mixed $params ]] )

filtername で指定されたフィルタを、 stream に付加されているフィルタのリストに加えます。

パラメータ

stream

対象となるストリーム。

filtername

フィルタ名。

read_write

デフォルトでは、 stream_filter_prepend() は ストリームが読み込み用に開かれている場合は (つまり、オープンモードが r あるいは + を伴う場合は)、 フィルタを リードフィルタチェイン に追加し、 ストリームが書き出し用に開かれている場合は(つまり、オープンモードが waか、あるいは+ を伴う場合は)、 ライトフィルターチェィンにも追加します。 STREAM_FILTER_READSTREAM_FILTER_WRITESTREAM_FILTER_ALLread_writeパラメータに渡すことで、この挙動を変えることができます。 このパラメータを使った例については、 stream_filter_append() を参照ください。

params

このフィルタは、指定された params と共に、 リストの先頭に追加され、ストリームに対する操作の中で最初に呼び出されます。 フィルタをリストの末尾に加えたいときは、stream_filter_append() を使ってください。

返り値

リソースを返します。このリソースは stream_filter_remove() のコール時にこの フィルタのインスタンスを指定するために使用可能です。

変更履歴

バージョン 説明
5.1.0 PHP 5.1.0 より前のバージョンでは、この関数は 成功した場合に TRUE、 失敗した場合に FALSE を返します。

注意

注意: カスタム(ユーザー)フィルタを使うには
カスタムフィルタを filtername に指定するためには、 まず stream_filter_register() 関数でそれを登録しておく 必要があります。

注意: ストリームデータは(ローカルおよびリモートの)リソースからチャンク単位で 読み込まれ、内部バッファに保持されます。新しいフィルタがストリームに 追加されても、内部バッファにあるデータのうち既に他のフィルタの処理が 終わっているものは新しいフィルタでは処理されません。 これは stream_filter_apppend() の挙動とは違います。

注意: フィルタが読み込み用および書き込み用に追加されると、フィルタのインスタンスが 2 つ作成されます。両方のフィルタリソースを取得するには、 STREAM_FILTER_READSTREAM_FILTER_WRITEstream_filter_prepend() を 2 回コールしなければなりません。

参考

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top