(PHP 5, PHP 7, PHP 8)
stream_bucket_prepend — 將區塊添加到隊列的開頭
這個函數可以用來將一個 bucket 添加到 bucket brigade 的開頭。它通常在 php_user_filter::filter() 中被呼叫。
brigade
brigade
是一個指向 bucket 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) {
// 這個 bucket 會在任何其他 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');
?>