什么是 PHP 输出缓冲?
输出缓冲是一种让 PHP 引擎在将输出数据发送到浏览器前暂时保存该数据的方法。众所周知,PHP 会分段将输出数据发送至浏览器。但是,如果我们利用输出缓冲机制,输出数据将会存储在变量中,并等到脚本结束后以一个整体的形式发送到浏览器。
示例
我们通过一个简单的范例来进行说明。
<?php ob_start(); echo "Hello"; $ob1 = ob_get_contents(); echo "Tutorials Point"; $ob2 = ob_get_contents(); ob_end_clean(); var_dump($ob1, $ob2); ?>
输出
string(5) "Hello" string(20) "HelloTutorials Point"
说明
在上面的示例中,ob_get_contents() 会获取从调用 ob_start 以来收集到的所有数据,也就是缓冲器中的所有数据。完成此操作后,一次发送输出数据。
输出缓冲的优势
- 仅仅启用输出缓冲就可减少浏览器下载并呈现 HTML 所需的时间。因此,它可以减少 PHP 脚本的执行时间。
- 如果你在设置 cookie 时,曾经遇到“警告:无法修改标头信息——标头已被(输出)发送”这样的消息,那么可以通过输出缓冲来解决。
广告