stream_filter_remove
リソースストリームからフィルターを取り外します
関数名:stream_filter_remove()
適用バージョン:PHP 4> = 4.3.0、PHP 5、PHP 7
関数の説明:Stream_Filter_Remove()関数は、指定されたストリームからフィルターを削除するために使用されます。
構文:bool stream_filter_remove(リソース$ stream_filter)
パラメーター:
返品値:フィルターが正常に削除された場合はtrueを返します。それ以外の場合はfalseを返します。
例:
// 创建一个过滤器class MyFilter extends php_user_filter { public function filter($in, $out, &$consumed, $closing) { while ($bucket = stream_bucket_make_writeable($in)) { $bucket->data = strtoupper($bucket->data); $consumed += $bucket->datalen; stream_bucket_append($out, $bucket); } return PSFS_PASS_ON; } } // 打开文件流$handle = fopen('input.txt', 'r'); // 添加过滤器stream_filter_append($handle, 'MyFilter'); // 读取并输出文件内容while (!feof($handle)) { echo fgets($handle); } // 移除过滤器stream_filter_remove($handle); // 关闭文件流fclose($handle);
上記の例では、最初に、入力ストリームから文字を大文字に変換するMyFilterというカスタムフィルターを作成します。次に、ファイルストリームを開き、myFilterフィルターをStream_Filter_Append()関数を使用してストリームに接続します。次に、FGETS()関数を使用してファイルコンテンツを読み取り、出力します。これにより、MyFilterのフィルター()メソッドがデータを処理します。最後に、stream_filter_remove()関数を使用して、myfilterフィルターを削除し、ファイルストリームを閉じます。
フィルターを取り外した後、フローはフィルターの影響を受けなくなることに注意してください。