PHP - Manual: stream_bucket_prepend
2025-10-31
(PHP 5, PHP 7, PHP 8)
stream_bucket_prepend — Prepend bucket to brigade
This function can be called to prepend a bucket to a bucket brigade. It is typically called from php_user_filter::filter().
brigade
      brigade is a resource pointing to a bucket brigade
      which contains one or more bucket objects.
     
bucketA bucket object.
没有返回值。
| 版本 | 说明 | 
|---|---|
| 8.4.0 | bucket现在期望 StreamBucket 实例;之前期望 stdClass。 | 
示例 #1 stream_bucket_prepend() examples
<?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');
?>官方地址:https://www.php.net/manual/en/function.stream-bucket-prepend.php