首页 新闻 会员 周边 捐助

php ob_start ob_fush问题,求解答

0
悬赏园豆:10 [待解决问题]

问题描述:

php是5.2版本

php.ini中output_buffering = off并且implicit_flush = off
此时直接在脚本中使用如下代码:

<?php
for ($i=10; $i>0; $i--)
{
    echo $i."<br>";
    ob_flush();  
    flush();
    sleep(1);
}

打开页面可以看到数字一行一行的动态的被打印出来

问题:

网上查了一些资料,ob_start() 是在output_buffering设置为off时调用,

相当于手动开启缓存。

1. 这个例子中并没有使用ob_start()并且output_buffering和implicit_flush都是off,打印出来的效果是动态的, 说明是有缓存效果的,缓存怎么开启了? 

2. 按照我的想法是上面示例没有开启缓存应该不用使用ob_fush和flush就应立刻显示到页面上了,但是去掉之后ob_flush和flush,没有立即显示。而是for循环之后,才打印出来。

请各位不吝赐教,给个详细的解释。多谢。

Ramb的主页 Ramb | 初学一级 | 园豆:194
提问于:2017-07-31 17:34
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册