PHP Conference Japan 2024

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_prepend() 必须使用 STREAM_FILTER_READSTREAM_FILTER_WRITE 分别调用两次以获取两个过滤器资源。

参见

添加注释

用户贡献的注释

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