PHPob_flush,刷新缓冲区无效解伊江 浏览:163

PHP程序是缓冲的,不管PHP执行的情况(CGI、Web服务器等),这个函数将当前程序的所有输出发送到用户的浏览器。
同花顺()函数不影响服务器或客户端浏览器缓存模式。因此,这ob_flush()和()函数必须使用冲洗同时刷新输出缓冲区。
个别Web服务器程序,尤其是win32下的Web服务器程序,在将结果发送到浏览器直到程序结束之前仍将缓存脚本的输出。
我写了一个小例子,想在页面上每秒输出一个数字。

根据因特网上的代码:
复制代码代码如下所示:
ob_end_clean();
(0美元= 10美元;
{
回声$ i;
同花顺();
睡眠(1);
}


或:
复制代码代码如下所示:
(0美元= 10美元;
{
回声$ i;
ob_flush();
同花顺();
睡眠(1);
}


我发现它在Firefox中生效了,但它在伊江不起作用,每次10个数字一起输出,表明缓冲区无效。

我开始在php.ini,重新启动Apache调整output_buffering设置,仍然是无效的。

然后我看到一个字:

某些版本的微软Internet Explorer在256字节被接受之前不会开始显示页面,因此必须发送一些额外的空间,让这些浏览器显示页面的内容。

邪恶IE浏览器,问题是TMD的个数!

然后我修改了程序,这是正常的。
复制代码代码如下所示:
回声str_pad(',4096);
($ i = 0;$ i < 10;$ + +){
回声$ i;
ob_flush();
同花顺();
睡眠(1);
}

复制代码代码如下所示:
/ / / ob_end_flush();/ IE8不工作
回声str_pad(

($ i = 0;$ i < 18;$ + +){
回声$ i;
同花顺();
睡眠(1);
}
推荐文章1
广告