stream_filter_append()

stream_filter_append() — Attach a filter to a stream.

Built-in function of PHP 8.5. The manual lists it as available in PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8. This page is the reference card: signature, parameters and return value, plus the changelog and the example the manual provides.

What it does

Adds filter_name to the list of filters attached to stream.

Signature

stream_filter_append(resource $stream, string $filter_name, int $mode = ?, mixed $params = ?): resource

Parameters

ParameterTypeWhat it takes
$streamresourceThe target stream.
$filter_namestringThe filter name.
$modeintBy 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 mode parameter to override this behavior.
$paramsmixedThis 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().

Return value

Returns a resource on success or false on failure. The resource can be used to refer to this filter instance during a call to stream_filter_remove(). false is returned if stream is not a resource or if filter_name cannot be located.

Example

A runnable snippet:

/* Open a test file for reading and writing */ $fp = fopen('test.txt', 'w+'); /* 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 */

See also

stream_filter_register(), stream_filter_prepend(), stream_get_filters()

All PHP 8.5 built-in functions

Reference card built from the PHP manual page stream_filter_append() (PHP documentation, CC BY 3.0). The page is generated from the manual, so the wording of the parameter and return value text follows php.net.