• php中ob缓存机制


    1.ob缓存运行方式

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

    ob_start() 开启

    ob_get_contents()  获取缓存中的数据

    ob_clean()  清空缓存中的数据

    ob_end() 关闭ob缓存

    ob_end_clean() 清空缓存并关闭ob缓存

    ob_flush()  刷新缓冲区【就是把ob缓存中的内容放到程序缓存中,缓存中内容就是空了,默认是在程序执行完后再放到程序缓存中,用此函数可以在程序执行时任意时候放到程序缓存中】

    flush() 把程序缓存内容推送到浏览器【一些版本的 Microsoft Internet Explorer 只有当接受到的256个字节以后才开始显示该页面,所以必须发送一些额外的空格来让这些浏览器显示页面内容。】

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

  • 相关阅读:
    UI自动化测试(五)TestNG简介与安装步骤
    selenium webdriver 右键另存为下载文件(结合robot and autoIt)
    SpringBoot系列之日志框架介绍及其原理简介
    SpringBoot系列之profles配置多环境(篇二)
    SpringBoot系列之Spring容器添加组件方式
    MySQL基础之自连接用法简介
    MySQL基础之Natural Join用法
    MySQL基础之STRAIGHT JOIN用法简介
    SpringBoot系列之配置文件加载位置
    SpringBoot系列之外部配置用法简介
  • 原文地址:https://www.cnblogs.com/yyjie/p/7484488.html
Copyright © 2020-2023  润新知