PHP中常用的几个 Output Control 函数为:
1.ob_start() // 开启缓冲区
2.ob_flush() // 送出缓冲区内容
3.ob_end_flush() // 送出缓冲区内容并关闭缓冲区
3.ob_clean() // 清空缓冲区内容
4.ob_end_clean() // 清空缓冲区内容并关闭缓冲区
5.ob_get_contents() // 得到缓冲区的内容
ob_start() 函数会打开输出缓冲区,打开后,脚本里所有输出的内容,包括 echo 、print、include、require 等,都会首先保存在服务器的缓冲区中。在 php.ini中,output_buffering 默认为 4096,也就是说缓冲区是默认开启的,并且大小为 4096字节,即4KB。当缓冲区写满 或者 执行了 ob_flush() 或者 ob_end_flush() 或者 脚本执行结束,才会把缓冲区内容发送给浏览器。
虽然 clean 和 flush 都会使缓冲区清空,但是 clean只是单纯地清空缓冲区,而 flush是把缓冲区的内容送出去。 因此,想获得缓冲区内容就必须在它们之前执行 ob_get_contents() 。
这些函数通常用在 页面静态化中,如果一个页面实时性不高,那么我们可以将渲染好的页面通过 file_put_contents() 与 ob_get_contents() 保存为 .html文件,之后客户直接访问这个静态文件就可以了。