定义和用法
ob_start()
函数创建一个输出缓冲区。可以传入一个回调函数来处理缓冲区内容,在内容被刷新前对其进行操作。还可以使用标志来允许或限制缓冲区能做什么。
实例
创建输出缓冲区:
<?php
ob_start();
echo "This content will not be sent to the browser.";
ob_end_clean();
echo "This content will be sent to the browser.";
?>
亲自试一试
语法
ob_start(callback, chunk_size, flags);
参数 |
描述 |
callback |
选修的。用于在缓冲区内容被刷新前处理内容的回调函数。
回调函数应该有以下参数:
参数 |
描述 |
buffer |
输出缓冲区的内容。 |
phase |
一个位掩码,可能包含以下任何标志:
- PHP_OUTPUT_HANDLER_START - 如果输出缓冲区刚刚被创建
- PHP_OUTPUT_HANDLER_FLUSH - 如果当前正在刷新输出缓冲区
- PHP_OUTPUT_HANDLER_FINAL - 如果输出缓冲区将在此操作后立即被删除
|
|
chunk_size |
选修的。默认为 0。当设置为大于零的值时,一旦内容长度超过此值,缓冲区将自动刷新。 |
flags |
选修的。默认为 PHP_OUTPUT_HANDLER_STDFLAGS。
一个位掩码,它确定缓冲区被允许执行哪些操作。它可以包含以下标志:
- PHP_OUTPUT_HANDLER_CLEANABLE - 允许调用 ob_clean()、ob_end_clean() 和 ob_get_clean()。
- PHP_OUTPUT_HANDLER_FLUSHABLE - 允许调用 ob_flush()、ob_end_flush() 和 ob_get_flush()。
- PHP_OUTPUT_HANDLER_REMOVABLE - 允许调用 ob_end_clean()、ob_end_flush() 和 ob_get_flush()。
- PHP_OUTPUT_HANDLER_STDFLAGS - 相当于上述所有标志的组合。
- PHP_OUTPUT_HANDLER_CLEANABLE|
- PHP_OUTPUT_HANDLER_FLUSHABLE|
- PHP_OUTPUT_HANDLER_REMOVABLE
|