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