• 欢迎来到本博客,希望可以y一起学习与分享

php中ob缓存机制

PHP benz 4年前 (2017-12-31) 129次浏览 0个评论 扫描二维码
文章目录[隐藏]

1.ob缓存运行方式

参考二:

2.注意

在程序中如果开启ob_start(),所有的echo输出都会保存到ob缓存中,可以使用ob系列函数进行操作,如果没有,默认情况下,在程序执行结束,会把缓存中的数据发送给浏览器,如果,你使用ob_clean()类似的函数,会情况缓存中的内容,那么就不用有数据发送给浏览器

  1. ob_start() 开启
  2. ob_get_contents() 获取缓存中的数据
  3. ob_clean() 清空缓存中的数据
  4. ob_end() 关闭ob缓存
  5. ob_end_clean() 清空缓存并关闭ob缓存
  6. ob_flush() 刷新缓冲区【就是把ob缓存中的内容放到程序缓存中,缓存中内容就是空了,默认是在程序执行完后再放到程序缓存中,用此函数可以在程序执行时任意时候放到程序缓存中】
  7. flush() 把程序缓存内容推送到浏览器【一些版本的 Microsoft Internet Explorer 只有当接受到的256个字节以后才开始显示该页面,所以必须发送一些额外的空格来让这些浏览器显示页面内容。】

说的简单点:默认情况下,php会把输出的内容放到【程序缓存】中,待程序跑完,把【程序缓存】中的东西全部抛到浏览器中;现在使用ob缓存,开启后,所有的输出都会放到【ob缓存】中,头信息(header)等这些依旧存放到【程序缓存】中,待程序跑完,【ob缓存】中的内容会被放到【程序缓存】内容后面,再送到浏览器。ob_flush()是把【ob缓存】中的内容放到【程序缓存】中,之前只有待程序跑完才会把【ob缓存】内容放到【程序缓存】中,现在用ob_flush()就可以在任意时候送到【程序缓存】中;flush()函数的作用是把【程序缓存】中的数据抛到浏览器中;

总结

ob_flush()把ob缓存中的内容放到程序缓存
flush()是把程序缓存中的内容送到浏览器缓存中

有趣的代码:利用flush()动态输出数字

应用:类似信息的推送


文章 php中ob缓存机制 转载需要注明出处
喜欢 (0)

您必须 登录 才能发表评论!