ob就是output_buffer(输出缓存)的简写。在浏览器请求一个php页面的过程中,经历了三个缓存
1、ob缓存
2、程序缓存
3、浏览器缓存
- 浏览器缓存:当服务器端的数据响应给浏览器之后,浏览器并不会立即的将数据直接输出显示,一般会把数据线缓存起来,只有当数据达到一定的大小之后,然后才把数据在浏览器上显示出来。
- 程序缓存:php提供的一个缓存技术,这个缓存是程序自动开启的,不需要程序员的操控,程序员也没办法操控。主要缓存响应头和响应主体信息。
- ob缓存通过php.ini中的output_buffing打开或ob_start(),当脚本执行完毕时,输入会先放到程序缓存 然后再输出给浏览器们如果OB缓存开启了脚本执行完以后会先把内容存放到OB缓存中,然后到程序缓存 最后输出到浏览器
ob操作函数
ob_start() //打开ob缓存
ob_clearn() //清除ob缓存中的内容,但是不关闭ob
ob_end_clearn() //清除ob缓存中的内容,并且关闭ob
ob_flush() //把ob缓存中的内容,刷新到程序缓存,但是不关闭ob
ob_end_flush() //把ob缓存中的内容,刷新到程序缓存,并且关闭ob
ob_get_contents() //获取ob缓存中的内容
flush() 把程序缓存内容推送到浏览器