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+AJAX实现无刷新注册(带用户名实时检测)
Jan 02 PHP
初识laravel5
Mar 02 PHP
WordPress中查询文章的循环Loop结构及用法分析
Dec 17 PHP
WordPress开发中的get_post_custom()函数使用解析
Jan 04 PHP
php版微信公众平台入门教程之开发者认证的方法
Sep 26 PHP
PHP实现导出excel数据的类库用法示例
Oct 15 PHP
[原创]php token使用与验证示例【测试可用】
Aug 30 PHP
thinkPHP中U方法加密传递参数功能示例
May 29 PHP
阿里对象存储OSS在laravel框架中的使用方法
Oct 13 PHP
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
Feb 15 PHP
php7连接MySQL实现简易查询程序的方法
Oct 13 PHP
PHP后门隐藏的一些技巧总结
Nov 04 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
WINDOWS下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置
2008/03/28 PHP
php Smarty date_format [格式化时间日期]
2010/03/15 PHP
一个基于PDO的数据库操作类
2011/03/24 PHP
PHP实现异步调用方法研究与分享
2011/10/27 PHP
浅谈PHP强制类型转换,慎用!
2013/06/06 PHP
根据ip调用新浪api获取城市名并转成拼音
2014/03/07 PHP
PHP处理postfix邮件内容的方法
2015/06/16 PHP
phpmailer绑定邮箱的实现方法
2016/12/01 PHP
PHP中$GLOBALS与global的区别详解
2019/03/21 PHP
jQuery Div中加载其他页面的实现代码
2009/02/27 Javascript
基于jquery实现的表格分页实现代码
2011/06/21 Javascript
从零学JS之你需要了解的几本书
2014/05/19 Javascript
js随机生成网页背景颜色的方法
2015/02/26 Javascript
JavaScript中数组继承的简单示例
2015/07/29 Javascript
javascript中offset、client、scroll的属性总结
2015/08/13 Javascript
javascript常用函数(1)
2015/11/04 Javascript
Javascript将JSON日期格式化
2016/08/23 Javascript
详解nodejs的express如何自动生成项目框架
2017/07/12 NodeJs
js常见遍历操作小结
2019/06/06 Javascript
微信小程序实现点赞业务
2021/02/10 Javascript
[05:15]2018年度CS GO社区贡献奖-完美盛典
2018/12/16 DOTA
Python实现的FTP通信客户端与服务器端功能示例
2018/03/28 Python
如何利用python查找电脑文件
2018/04/27 Python
python Dijkstra算法实现最短路径问题的方法
2019/09/19 Python
Python Switch Case三种实现方法代码实例
2020/06/18 Python
Python爬虫抓取指定网页图片代码实例
2020/07/24 Python
python获取整个网页源码的方法
2020/08/03 Python
使用HTML5中的contentEditable来将多行文本自动增高
2016/03/01 HTML / CSS
独特的礼品和创新的科技产品:The Grommet
2018/02/24 全球购物
企业为何需要商业计划书
2013/12/26 职场文书
妇女儿童发展规划实施方案
2014/03/16 职场文书
小学四年级学生评语
2014/12/26 职场文书
圣诞晚会主持词
2015/07/01 职场文书
高中体育课教学反思
2016/02/16 职场文书
《植物妈妈有办法》教学反思
2016/02/23 职场文书
vue使用element-ui按需引入
2022/05/20 Vue.js