stream_filter_prepend()
(PHP 4 >= 4.3.0, PHP 5, PHP 7)
Attach a filter to a stream
说明
stream_filter_prepend(resource $stream,string $filtername[,int $read_write[,mixed $params]]): resource
Adds$filternameto the list of filters attached to$stream.
参数
- $stream
The target stream.
- $filtername
The filter name.
- $read_write
By default,stream_filter_prepend()will attach the filter to theread filter chainif the file was opened for reading (i.e. File Mode:r, and/or+). The filter will also be attached to thewrite filter chainif the file was opened for writing (i.e. File Mode:w,a, and/or+).
STREAM_FILTER_READ
,STREAM_FILTER_WRITE
, and/orSTREAM_FILTER_ALL
can also be passed to the$read_writeparameter to override this behavior.Seestream_filter_append()for an example of using this parameter.- $params
This filter will be added with the specified$paramsto thebeginningof the list and will therefore be called first during stream operations. To add a filter to the end of the list,usestream_filter_append().
返回值
Returns a resource on success orFALSE
on failure. The resource can be used to refer to this filter instance during a call tostream_filter_remove().
FALSE
is returned if$streamis not a resource or if$filternamecannot be located.
更新日志
版本 | 说明 |
---|---|
5.1.0 | Prior to PHP 5.1.0, this function returnsTRUE on success 或者在失败时返回FALSE . |
注释
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 prepended to a stream, data in the internal buffers, which has already been processed through other filters willnotbe reprocessed through the new filter at that time. This differs from the behavior ofstream_filter_append().
Note:When a filter is added for read and write, two instances of the filter are created.stream_filter_prepend()must be called twice with
STREAM_FILTER_READ
andSTREAM_FILTER_WRITE
to get both filter resources.
参见
stream_filter_register()
Register a user defined stream filterstream_filter_append()
Attach a filter to a stream