PHP Streams函数

PHP stream_bucket_prepend() 函数用于将存储桶添加到存储桶队列中。它通常从 php_user_filter::filter() 方法调用。

语法

stream_bucket_prepend(brigade, bucket) 

参数

brigade必填。 指定旅。 brigade 是一种指向bucket brigade 的资源,其中包含一个或多个bucket 对象。
bucket必填。 指定桶对象。

返回值

无。

示例:stream_bucket_prepend()函数

下面的例子展示了stream_bucket_prepend()函数的用法。

<?php
class foo extends php_user_filter {
  protected $calls = 0;
  public function filter($in, $out, &$consumed, $closing) {
    while ($bucket = stream_bucket_make_writeable($in)) {
      $consumed += $bucket->datalen;
      if ($this->calls++ == 2) {
        //此存储桶将再次出现在任何其他存储桶之前。
        stream_bucket_prepend($in, $bucket);
      }
    }
    return PSFS_FEED_ME;
  }
}

stream_filter_register('test', 'foo');
print file_get_contents('php://filter/read=test/resource=foo');
?>