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

# stream_filter_append

(PHP 4 >= 4.3.0, PHP 5)

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

## 説明

bool stream_filter_append ( resource stream, string filtername [, int read_write [, mixed params]])

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

デフォルトでは、 stream_filter_append() は ストリームが読み込み用に開かれている場合は (つまり、オープンモードが r あるいは + を伴う場合は)、 フィルタを リードフィルタチェイン に追加し、 ストリームが書き出し用に開かれている場合は(つまり、オープンモードが w か aか、あるいは+ を伴う場合は)、 ライトフィルターチェィンにも追加します。 `STREAM_FILTER_READ`・ `STREAM_FILTER_WRITE`・ `STREAM_FILTER_ALL` を read_writeパラメータに渡すことで、この挙動を変えることができます。

例 1. Controlling where filters are applied
`<?php /* ファイルを読み書き用に開く */ $fp = fopen("test.txt","rw"); /* ROT13 フィルタをライトフィルタチェインに付加する。 * リードフィルタチェインには付加しない。*/ stream_filter_append($fp, "string.rot13", STREAM_FILTER_WRITE); /* 単純な文字列をファイルに書き出す。 * この文字列には、出口で ROT13 変換が適用される。 */ fwrite($fp, "This is a test\n"); /* ファイルの最初に戻る */ rewind($fp); /* 書き出した内容を読み戻す。 * もし、フィルタがリードフィルタチェインにも * 付加されていれば、再び読み出し時に ROT13 が適用され、 * テキストは元の状態に戻るはず。 */ fpassthru($fp); fclose($fp); /* 期待される出力 --------------- Guvf vf n grfg */ ?>`

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

stream_filter_register(), stream_filter_prepend() も参照下さい。

前のページ | ホーム | 次のページ
stream_copy_to_stream | 上に戻る | stream_filter_prepend