php ob_flush,flush在ie中缓冲无效的解决方法


Posted in PHP onMay 09, 2010

PHP程序的缓冲,而不论PHP执行在何种情况下(CGI ,web服务器等等)。该函数将当前为止程序的所有输出发送到用户的浏览器。
flush() 函数不会对服务器或客户端浏览器的缓存模式产生影响。因此,必须同时使用 ob_flush() 和flush() 函数来刷新输出缓冲。
个别web服务器程序,特别是Win32下的web服务器程序,在发送结果到浏览器之前,仍然会缓存脚本的输出,直到程序结束为止
自己写了个小例子,想在页面每隔一秒输出一个数字。

按照网上的代码:

ob_end_clean(); 
for ($i=10; $i>0; $i--) 
{ 
echo $i; 
flush(); 
sleep(1); 
}

或者:

for ($i=10; $i>0; $i--) 
{ 
echo $i; 
ob_flush(); 
flush(); 
sleep(1); 
}

我发现在火狐里面生效,但在IE里不起作用,每次都是10个数字一起输出,这说明缓冲没有生效。

我又开始调整php.ini里面的output_buffering的设置,重启apache,依旧无效。

然后我看到了一段话:

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

罪恶的IE浏览器,问题就是TMD的多!

然后我修改了下程序,便正常了:

echo str_pad('',4096); 
for ($i = 0; $i < 10; $i++) { 
echo $i; 
ob_flush(); 
flush(); 
sleep(1); 
}

//ob_end_flush();//IE8下没起作用 
echo str_pad(" ", 256);//IE需要接受到256个字节之后才开始显示 for($i=0;$i<18;$i++) { 
echo $i; 
flush(); 
sleep(1); 
}
PHP 相关文章推荐
改进的IP计数器
Oct 09 PHP
PHP 图片文件上传实现代码
Dec 29 PHP
php中神奇的fastcgi_finish_request
May 02 PHP
五款常用mysql slow log分析工具的比较分析
May 22 PHP
PHP字符串函数系列之nl2br(),在字符串中的每个新行 (\n) 之前插入 HTML 换行符br
Nov 10 PHP
php去除html标记的原生函数详解
Jan 27 PHP
php读取文件内容到数组的方法
Mar 16 PHP
php生成年月日下载列表的方法
Apr 24 PHP
php实现的用户查询类实例
Jun 18 PHP
php检查页面是否被百度收录
Oct 28 PHP
php5.6.x到php7.0.x特性小结
Aug 17 PHP
mac pecl 安装php7.1扩展教程
Oct 17 PHP
php 各种应用乱码问题的解决方法
May 09 #PHP
php 输出双引号&quot;与单引号'的方法
May 09 #PHP
php for 循环语句使用方法详细说明
May 09 #PHP
php 函数使用方法与函数定义方法
May 09 #PHP
php 获取select下拉列表框的值
May 08 #PHP
PHP foreach循环使用详解与实例代码
May 08 #PHP
php 在文件指定行插入数据的代码
May 08 #PHP
You might like
php读取xml实例代码
2010/01/28 PHP
php中函数前加&amp;符号的作用分解
2014/07/08 PHP
thinkphp获取栏目和文章当前位置的方法
2014/10/29 PHP
PHP版本的选择5.2.17 5.3.27 5.3.28 5.4 5.5兼容性问题分析
2016/04/04 PHP
PHP简单读取xml文件的方法示例
2017/04/20 PHP
php解析非标准json、非规范json的方式实例
2020/12/10 PHP
ASP Json Parser修正版
2009/12/06 Javascript
jquery延迟加载外部js实现代码
2013/01/11 Javascript
jQuery判断密码强度实现思路及代码
2013/04/24 Javascript
JS实现自动变化的导航菜单效果代码
2015/09/09 Javascript
jQuery设置和获取select、checkbox、radio的选中值方法
2017/01/01 Javascript
jQuery实现贪吃蛇小游戏(附源码下载)
2017/03/04 Javascript
React进阶学习之组件的解耦之道
2017/08/07 Javascript
React Native如何消除启动时白屏的方法
2017/08/08 Javascript
ES6中定义类和对象的方法示例
2019/07/31 Javascript
javascript实现京东登录显示隐藏密码
2020/08/02 Javascript
vue实践---根据不同环境,自动转换请求的url地址操作
2020/09/21 Javascript
用Python制作简单的朴素基数估计器的教程
2015/04/01 Python
Python在线运行代码助手
2016/07/15 Python
Python字符串和字典相关操作的实例详解
2017/09/23 Python
Python基本socket通信控制操作示例
2019/01/30 Python
Pytorch实现神经网络的分类方式
2020/01/08 Python
深入浅析Python 函数注解与匿名函数
2020/02/24 Python
Stokke美国官方网店:高级儿童家具、推车、汽车座椅和配件
2020/06/06 全球购物
RUIFIER官网:英国奢侈高级珠宝品牌
2020/06/12 全球购物
美国家居装饰购物网站:Amanda Lindroth
2020/03/25 全球购物
当当网软件测试笔试题
2015/11/24 面试题
一些关于MySql加速和优化的面试题
2014/01/30 面试题
在职人员函授期间自我评价分享
2013/11/08 职场文书
任命书范本大全
2014/06/06 职场文书
接待员岗位职责
2015/02/13 职场文书
2015年幼儿教师个人工作总结
2015/05/20 职场文书
优化经济发展环境工作总结
2015/08/11 职场文书
聊聊Python String型列表求最值的问题
2022/01/18 Python
pandas进行数据输入和输出的方法详解
2022/03/23 Python
python DataFrame中stack()方法、unstack()方法和pivot()方法浅析
2022/04/06 Python