(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
stream_filter_prepend — 将过滤器附加到流
将 $filtername
添加到附加到 $stream
的过滤器列表中。
stream
目标流。
filtername
过滤器名称。
read_write
默认情况下,stream_filter_prepend() 会将过滤器附加到 读取过滤器链
,前提是文件是为读取打开的(即文件模式:r
和/或 +
)。如果文件是为写入打开的,过滤器也会附加到 写入过滤器链
(即文件模式:w
、a
和/或 +
)。STREAM_FILTER_READ
、STREAM_FILTER_WRITE
和/或 STREAM_FILTER_ALL
也可以传递给 $read_write
参数以覆盖此行为。请参见 stream_filter_append() 以了解如何使用此参数的示例。
params
此过滤器将使用指定的 $params
添加到列表的开头,因此在流操作期间将首先调用它。要将过滤器添加到列表的末尾,请使用 stream_filter_append()。
成功时返回资源,失败时返回 false
。该资源可以在调用 stream_filter_remove() 时用于引用此过滤器实例。
如果 $stream
不是资源,或者如果找不到 $filtername
,则返回 false
。
注意: 使用自定义(用户)过滤器时
必须先调用 stream_filter_register() 才能将所需的用户过滤器注册到$filtername
。
注意: 流数据从资源(本地和远程)中以块的形式读取,任何未消耗的数据都会保存在内部缓冲区中。当一个新的过滤器被预添加到流时,内部缓冲区中已经被其他过滤器处理过的不会被重新处理通过新的过滤器,此时。这与 stream_filter_append() 的行为不同。
注意: 当为读取和写入添加过滤器时,将创建两个过滤器实例。必须使用
STREAM_FILTER_READ
和STREAM_FILTER_WRITE
两次调用 stream_filter_prepend() 才能获得这两个过滤器资源。