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