stream_bucket_prepend

bucket を brigade の先頭に追加する

説明

void stream_bucket_prepend(resource $brigade, object $bucket)

この関数を呼ぶと、bucket brigade の先頭に bucket を追加できます。一般に、 php_user_filter::filter から呼ばれます。

パラメータ

brigade

brigadebucket brigade を指すリソースで、ここにはひとつあるいは複数の bucket オブジェクトが含まれます。

bucket

bucket オブジェクト。

戻り値

値を返しません。

例1 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) {
        // This bucket will appear again before any other bucket.
        stream_bucket_prepend($in, $bucket);
      }
    }
    return PSFS_FEED_ME;
  }
}
stream_filter_register('test', 'foo');
print  file_get_contents('php://filter/read=test/resource=foo');
?>