stream_filter_append
Description
bool stream_filter_append ( resource stream, string filtername [, int read_write [, mixed params]])Adds filtername to the list of filters attached to stream . This filter will be added with the specified params to the end of the list and will therefore be called last during stream operations. To add a filter to the beginning of the list, use stream_filter_prepend().
By default, stream_filter_append() will attach the filter to the read filter chain if the file was opened for reading (i.e. File Mode: r, and/or +). The filter will also be attached to the write filter chain if the file was opened for writing (i.e. File Mode: w, a, and/or +). STREAM_FILTER_READ , STREAM_FILTER_WRITE , and/or STREAM_FILTER_ALL can also be passed to the read_write parameter to override this behavior.


Example 1. Controlling where filters are applied
<?php
/* Open a test file for reading and writing */
$fp = fopen("test.txt", "rw");
/* Apply the ROT13 filter to the
* write filter chain, but not the
* read filter chain */
stream_filter_append($fp, "string.rot13", STREAM_FILTER_WRITE);
/* Write a simple string to the file
* it will be ROT13 transformed on the
* way out */
fwrite($fp, "This is a test\n");
/* Back up to the beginning of the file */
rewind($fp);
/* Read the contents of the file back out.
* Had the filter been applied to the
* read filter chain as well, we would see
* the text ROT13ed back to its original state */
fpassthru($fp);
fclose($fp);
/* Expected Output
---------------
Guvf vf n grfg
*/
?>
When using custom (user) filters: stream_filter_register() must be called first in order to register the desired user filter to filtername .
See also stream_filter_register(), and stream_filter_prepend()



