在PHP中,ob系列函数,又称输出控制函数,可用于缓冲输出控制。
1. ob_start()
功能:打开一个输出缓冲区,所有的输出内容不再直接输出到浏览器,而是保存在输出缓冲区里面。
返回值:布尔值。
2. ob_get_clean()
功能:获取当前缓冲区的内容并删除(关闭)当前输出缓冲区。
返回值:返回输出缓冲区的内容,并结束输出缓冲区;如果输出缓冲区不是活跃的,返回false。
ob_get_clean() 实质上是一起执行了 ob_get_contents() 和 ob_end_clean() 。
3. ob_get_contents()
功能:只是获取当前输出缓冲区的内容,但不删除(清除)缓冲区。
返回值:返回输出缓冲区的内容;如果输出缓冲区无效,返回false。
4. ob_end_clean()
功能:清空并关闭输出缓冲区。
说明:此函数会清空最顶层输出缓冲区的内容并关闭这个缓冲区。如果想要进一步处理缓冲区的内容,必须在 ob_end_clean() 之前调用 ob_get_contents() ,因为当调用 ob_end_clean() 时缓冲区内容将被丢弃。
返回值:布尔值。
5. ob_clean()
功能:只是清空输出缓冲区的内容,但不会关闭(删除)缓冲区。
返回值:没有返回值。
6. ob_end_flush()
功能:冲刷出(输出)输出缓冲区的内容,并关闭缓冲区。
返回值:布尔值。
7. ob_flush()
功能:只是冲刷出(输出)输出缓冲区的内容 ,但不会关闭缓冲区。
返回值:没有返回值。
8. ob_get_flush()
功能:冲刷出(输出)输出缓冲区的内容,并以字符串形式返回内容,并关闭输出缓冲区。
返回值:返回输出缓冲区的内容;如果输出缓冲区无效,返回false。
示例代码:
<?php
// 打开一个输出缓冲区
ob_start();
// 这里的输出,不会再直接输出到浏览器,而是保存在缓冲区里
echo "Hello";
// 获取当前缓冲区的内容并关闭该缓冲区。
$content = ob_get_clean();
// 处理后,输出到浏览器
$content = str_replace('l', 'M', $content);
echo $content;
?>