stream_filter_append
(PHP 4 >= 4.3.0, PHP 5)
stream_filter_append — Attach a filter to a stream
Description
resource stream_filter_append
(
resource $stream
,
string $filtername
[,
int $read_write
[,
mixed $params
]] )
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.
As of PHP 5.1.0, this function returns a resource which
can be used to refer to this filter instance during a call
to stream_filter_remove().
Prior to PHP 5.1.0, this function returns TRUE on success
or FALSE on failure.
Example #1 Controlling where filters are applied
<?php
$fp = fopen('test.txt', 'w+');
stream_filter_append($fp, "string.rot13", STREAM_FILTER_WRITE);
fwrite($fp, "This is a test\n");
rewind($fp);
fpassthru($fp);
fclose($fp);
?>
Note:
When using custom (user) filters
stream_filter_register() must be called first
in order to register the desired user filter to filtername
.
Note:
Stream data is read from resources (both local and remote) in chunks,
with any unconsumed data kept in internal buffers. When a new
filter is appended to a stream, data in the internal buffers is processed through
the new filter at that time. This differs from the behavior of
stream_filter_prepend().
See also
stream_filter_register(),
stream_filter_prepend(), and
stream_get_filters().