我是想在php页面开始执行时先输出以前的缓存文件.然后继续执行.执行后会更新缓存文件.但不输出.
我是想先输出缓存文件.这样速度快些.可是好像全部执行完后才显示的.
有办法实现么?

解决方案 »

  1.   

    在网上找了找,下面这个例子我试了下.也是不行啊.难道是我的环境没配置好?
    <?php
    For($j = 1; $j <= 20; $j++) {
    echo $j."";
    flush();//这一部会使cache新增的内容被挤出去,显示到阅读器上
    sleep(1);//让程序“睡”一秒钟,会让你把效果看得更清楚
    }
    ?>
      

  2.   


    print str_repeat(" ", 4096);  //先输出4096的字节,保证缓冲数据量
    For($j = 1; $j <= 20; $j++) { 
    echo $j.'<br>'; ob_flush();
    flush();
    }
      

  3.   


    //更改一下少了一个sleep(1)
    print str_repeat(" ", 4096);  //先输出4096的字节,保证缓冲数据量
    For($j = 1; $j <= 20; $j++) { 
    echo $j.'<br>'; 
    ob_flush();
    flush();
    sleep(1)
    }
      

  4.   

    本人机械测试过, 可以<?php
    for($j = 1; $j <= 20; $j++) {
    echo $j."";
    flush();//这一部会使cache新增的内容被挤出去,显示到阅读器上
    sleep(1);//让程序“睡”一秒钟,会让你把效果看得更清楚 
    }
    ?>
      

  5.   

    iwantnet谢谢你,怎么还要先输出4096的字节啊.加上这个就可以了.哈
      

  6.   

    因为不到4096的字节,你flush()也不能输出。除非更改php.ini设置