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 相关文章推荐
解决php中Cannot send session cache limiter 的问题的方法
Apr 27 PHP
PHP 多维数组排序实现代码
Aug 05 PHP
PHP删除非空目录的函数代码小结
Feb 28 PHP
PHP与Java进行通信的实现方法
Oct 21 PHP
php中常量DIRECTORY_SEPARATOR用法深入分析
Nov 14 PHP
php自动更新版权信息显示的方法
Jun 19 PHP
php验证码生成代码
Nov 11 PHP
调试WordPress中定时任务的相关PHP脚本示例
Dec 10 PHP
php实现倒计时效果
Dec 19 PHP
PHP进阶学习之Geo的地图定位算法详解
Jun 19 PHP
laravel按天、按小时,查询数据的实例
Oct 09 PHP
tp5 实现列表数据根据状态排序
Oct 18 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 获取客户端真实IP地址多种方法小结
2010/05/15 PHP
php通过正则表达式记取数据来读取xml的方法
2015/03/09 PHP
PHP 错误处理机制
2015/07/06 PHP
PHP实时统计中文字数和区别
2019/02/28 PHP
Javascript将string类型转换int类型
2010/12/09 Javascript
javascript中的parseInt和parseFloat区别
2013/07/12 Javascript
JavaScript验证电子邮箱的函数
2014/08/22 Javascript
分享15个大家都熟知的jquery小技巧
2015/12/02 Javascript
Bootstrap和Angularjs配合自制弹框的实例代码
2016/08/24 Javascript
原生js实现addclass,removeclass,toggleclasss实例
2016/11/24 Javascript
详解vue表单验证组件 v-verify-plugin
2017/04/19 Javascript
详解使用vue脚手架工具搭建vue-webpack项目
2017/05/10 Javascript
基于vue2框架的机器人自动回复mini-project实例代码
2017/06/13 Javascript
深入解析nodejs HTTP服务
2017/07/25 NodeJs
利用pm2部署多个node.js项目的配置教程
2017/10/22 Javascript
Vue实现表格中对数据进行转换、处理的方法
2018/09/06 Javascript
小程序实现按下录音松开识别语音
2019/11/22 Javascript
微信小程序图片右边加两行文字的代码
2020/04/23 Javascript
python基础教程之自定义函数介绍
2014/08/29 Python
python实现实时监控文件的方法
2016/08/26 Python
python爬虫入门教程--利用requests构建知乎API(三)
2017/05/25 Python
为什么入门大数据选择Python而不是Java?
2018/03/07 Python
python 从csv读数据到mysql的实例
2018/06/21 Python
pytorch载入预训练模型后,实现训练指定层
2020/01/06 Python
Pycharm debug调试时带参数过程解析
2020/02/03 Python
最新2019Pycharm安装教程 亲测
2020/02/28 Python
关于Python turtle库使用时坐标的确定方法
2020/03/19 Python
HTML5 Web Database 数据库的SQL语句的使用方法
2012/12/09 HTML / CSS
图库照片、免版税图片、矢量艺术、视频片段:Depositphotos
2019/08/02 全球购物
ktv总经理岗位职责
2014/02/17 职场文书
工伤死亡理赔协议书
2014/10/20 职场文书
2015年计划生育协会工作总结
2015/05/13 职场文书
五一晚会主持词
2015/07/01 职场文书
初中体育教学随笔
2015/08/15 职场文书
2016年党员读书月活动总结
2016/04/06 职场文书
用基于python的appium爬取b站直播消费记录
2021/04/17 Python