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
| Parameter | Type | What it takes |
|---|---|---|
| $stream | resource | The target stream. |
| $filter_name | string | The filter name. |
| $mode | int | 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 mode parameter to override this behavior. |
| $params | mixed | 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(). |
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.