stream_filter_prepend

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

stream_filter_prepend将过滤器附加到流

描述

stream_filter_prepend(
    资源 $stream,
    字符串 $filtername,
    整数 $read_write = ?,
    混合 $params = ?
): 资源

$filtername 添加到附加到 $stream 的过滤器列表中。

参数

stream

目标流。

filtername

过滤器名称。

read_write

默认情况下,stream_filter_prepend() 会将过滤器附加到 读取过滤器链,前提是文件是为读取打开的(即文件模式:r 和/或 +)。如果文件是为写入打开的,过滤器也会附加到 写入过滤器链(即文件模式:wa 和/或 +)。STREAM_FILTER_READSTREAM_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_READSTREAM_FILTER_WRITE 两次调用 stream_filter_prepend() 才能获得这两个过滤器资源。

参见

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top