• 2.缓存机制


    <?

    php echo 'hello100'; header('content-type:text/html;charset=utf-8'); echo 'hello200';

    这里写图片描写叙述
    这里写图片描写叙述
    这里写图片描写叙述
    解决方式:

    1.把heander()信息放在头部
    2.打开 ob 缓冲

    这里写图片描写叙述

    怎样打开 ob 缓存:

    1.在 php.ini 中打开
    2. ob_start()

    ob1.php

    <?php
    
    //开启ob缓存
    ob_start();
    echo 'hello100';
    header('content-type:text/html;charset=utf-8');
    echo 'hello200';
    echo 'hello300';
    
    //获取ob缓存的数据
    $str = ob_get_contents();
    //把$str保存到文件里
    file_put_contents('wjh.log',$str);
    echo 'hello400';
    echo 'hello500';
    echo 'hello600';

    wjh.log

    hello100hello200hello300

    几个原则:
    这里写图片描写叙述


    情况缓存:

    <?

    php //开启ob缓存 ob_start(); echo 'hello100'; header('content-type:text/html;charset=utf-8'); echo 'hello200'; echo 'hello300'; //清空 ob 缓存 ob_clean(); //获取ob缓存的数据 $str = ob_get_contents(); //把$str保存到文件里 file_put_contents('wjh.log',$str); echo 'hello400'; echo 'hello500'; echo 'hello600';

    这里写图片描写叙述

    <?

    php //开启ob缓存 ob_start(); echo 'hello100'; header('content-type:text/html;charset=utf-8'); echo 'hello200'; echo 'hello300'; //清空 ob 缓存 //ob_clean(); //该函数是清空ob中的数据,并关闭ob缓存 ob_end_clean(); echo 'hello400'; //获取ob缓存的数据 $str = ob_get_contents(); //把$str保存到文件里 file_put_contents('wjh.log',$str); echo 'hello500'; echo 'hello600';

    这里写图片描写叙述

    <?php
    
    //开启ob缓存
    ob_start();
    echo 'hello100';
    header('content-type:text/html;charset=utf-8');
    echo 'hello200';
    echo 'hello300';
    
    //清空 ob 缓存
    //ob_clean();
    //该函数是清空ob中的数据,并关闭ob缓存
    //ob_end_clean();
    ob_clean();
    echo 'hello400';
    //获取ob缓存的数据
    $str = ob_get_contents();
    //把$str保存到文件里
    file_put_contents('wjh.log',$str);
    
    echo 'hello500';
    echo 'hello600';

    这里写图片描写叙述


    <?

    php //开启ob缓存 ob_start(); echo 'hello100'; header('content-type:text/html;charset=utf-8'); echo 'hello200'; //把 ob 缓存的数据。刷新到程序缓存 ,并关闭 ob_end_flush(); echo 'hello300'; $str = ob_get_contents(); file_put_contents('wjh.log',$str); //所以文件为空 echo 'hello500'; echo 'hello600';

    这里写图片描写叙述

    <?php
    
    //开启ob缓存
    ob_start();
    echo 'hello100';
    header('content-type:text/html;charset=utf-8');
    echo 'hello200';
    
    //把 ob 缓存的数据。刷新到程序缓存 ,并关闭
    //ob_end_flush();
    
    //把 ob 缓存的数据,刷新到程序缓存 ,不关闭
    ob_flush();
    echo 'hello300';
    
    $str = ob_get_contents();
    file_put_contents('wjh.log',$str); //所以文件为空
    
    echo 'hello500';
    echo 'hello600';

    这里写图片描写叙述


    ob2.php

    <?php
    
    //把程序缓存的数据,强制刷新到浏览器缓冲
    //flush();
    //不同的浏览器须要字符到一定量才显示,用以下这句话
    //echo str_repeat('',1024);
    //ob缓存要关闭,才干够看到效果
    for ($i = 0 ; $i < 5 ; $i++) {
        echo $i;
        //把程序缓存的数据,强制刷新到浏览器缓冲
        flush();
        //休眠1秒钟,在sleep这个过程中,http连接没有断
        sleep(1);
    }

    这里写图片描写叙述


    这里写图片描写叙述
    这里写图片描写叙述
    这里写图片描写叙述

  • 相关阅读:
    Java中,由this关键字引发的问题
    Spring3.2.11与Quartz2.2.1整合时内存泄漏的问题的解决
    使用Nexus管理Maven仓库时,上传带依赖的第三方jar
    ActiveMQ5.10.2版本配置JMX
    JAVA的Hashtable在遍历时的迭代器线程问题
    关于JAVA中String类型的最大长度
    新增了某个模组后VS编译不过,报错说找不到头文件
    重写Overlap事件
    cmd端口占用查看和关闭端口
    转---详细的Android开发环境搭建教程
  • 原文地址:https://www.cnblogs.com/yutingliuyl/p/7146850.html
Copyright © 2020-2023  润新知