PHP Streams函数

每当从附加流读取数据或向附加流写入数据时,都会调用 PHP php_user_filter::filter() 方法,例如与 fread()fwrite() 函数。

语法

public php_user_filter::filter(in, out, consumed, closing)

参数

in 必填。 指定一个指向bucket brigade的资源,该资源包含一个或多个bucket对象,其中包含要过滤的数据。
out 必填。 指定一个指向第二个bucket brigade的资源,修改后的bucket应放置在其中。
已消耗 必填。 它必须始终通过引用声明,并应按过滤器读取和更改的数据长度递增。在大多数情况下,这意味着每个 $bucket消耗将增加 $bucket->datalen
关闭 必填。 如果流正在关闭过程中(因此这是通过过滤器链的最后一次传递),则此参数将设置为 true。

返回值

完成后返回三个值之一。

  • PSFS_PASS_ON - 使用中的可用数据成功处理过滤器out bucket brigade
  • PSFS_FEED_ME - 过滤器处理成功,但没有数据可返回。流或先前的过滤器需要更多数据。
  • PSFS_ERR_FATAL -(默认)过滤器遇到不可恢复的错误,无法继续。