以下列出了与 stream_filter_append() 一起使用的几个内置流过滤器。您版本的 PHP 可能包含比这里列出的更多(或更少)过滤器。
值得注意的是,stream_filter_append() 和 stream_filter_prepend() 之间存在轻微的不对称性。每个 PHP 流都包含一个小的读取缓冲区,它存储从文件系统或其他资源检索到的数据块,以便以最有效的方式处理数据。只要数据从资源拉入流的内部缓冲区,它就会立即通过任何附加的过滤器进行处理,无论 PHP 应用程序是否已准备好接收数据。如果数据在附加过滤器时位于读取缓冲区中,则此数据将立即通过该过滤器进行处理,使缓冲区中的数据看起来是透明的。但是,如果数据在预先添加过滤器时位于读取缓冲区中,则不会通过该过滤器进行处理。它将等到从资源检索到下一个数据块。
要查看 PHP 版本中安装的过滤器列表,请使用 stream_get_filters().