flush()函数无效?不能实时刷新输出,如何解决呢? 本帖最后由 zhoumengkang 于 2013-05-28 13:46:14 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这种无端占用用户带宽的做法是很无聊的延时输出的效果应在浏览器中用 js 实现你的代码在 IE 中永远都不会看到期望的效果,因为 IE 需等待缓冲区装满后才解释收到的数据 额,不是,我知识对这个函数不太了解。我用的chrome在测试。其实我是想实现这样的效果:比如我写一个脚本批量处理一些文件但那个过程可能很漫长,给别人用的话,别人都不知道是在执行呢,还是卡死了。所以想每循环执行成功一次就输出一句xxxx执行成功;-------------最类似的就是咱们安装开源软件的时候见到的创建数据表的时候的显示。但是我自己写的就会在数据表全部创建完之后才能显示。 同问!我现在也有一个程序要运行几个小时,一直运行,我只能去数据库查看数据来判断是否运行正常。我的暂时做法只能做个简单的监控。比如在程序中加memcache写入操作,另外写个页面来读取。 我又回来了,试试<?phpecho str_pad('',4096);set_time_limit(50);for($i=0;$i<=5;$i++){ echo $i.'<br />';ob_flush();flush(); sleep(1);}?>这两天出这个问题的还挺多的。这个写法在各浏览器测试都没问题,但有童鞋说,这种做法往缓存区写垃圾,可以试试PHP抛出异常,有空研究一下再分享。 完全是因为这个?echo str_pad('',4096);第二个设置时限的可以省略,这个程序跑下来肯定不会超过30秒。抛出异常,try-catch还可以这样用,学习了,我好好想想!你是一个好人! 嗯嗯,我的这个程序一开始考虑用php_cli,因为程序步骤多,觉得不友好,还是选择页面;但运行时间太长,开着页面反倒成了累赘,还是用cli吧,加油。 今天又试了下用chrome测试,还是等运算完了,一次性输出。 想学习算法,求教学习方向。 问个关于数组key为string的问题 如何提取一段长尾标题的核心关键字 网页加了meta标签,为什么还显示是乱码?急!!! https的问题,高人进来看一下 为何error_reporting(E_ERROR | E_PARSE);无效??????? PHP 用什么 取出单选按钮的值?? 大家有什么更好的方法实现吗? 怎样取得元素的值? getjson调用问题请高手看看 求虚拟post提交 路径好烦啊。
延时输出的效果应在浏览器中用 js 实现你的代码在 IE 中永远都不会看到期望的效果,因为 IE 需等待缓冲区装满后才解释收到的数据
其实我是想实现这样的效果:比如我写一个脚本批量处理一些文件
但那个过程可能很漫长,给别人用的话,别人都不知道是在执行呢,还是卡死了。
所以想每循环执行成功一次就输出一句xxxx执行成功;
-------------
最类似的就是咱们安装开源软件的时候见到的创建数据表的时候的显示。
但是我自己写的就会在数据表全部创建完之后才能显示。
我的暂时做法只能做个简单的监控。比如在程序中加memcache写入操作,另外写个页面来读取。
<?php
echo str_pad('',4096);set_time_limit(50);
for($i=0;$i<=5;$i++){
echo $i.'<br />';
ob_flush();
flush();
sleep(1);
}
?>
这两天出这个问题的还挺多的。
这个写法在各浏览器测试都没问题,但有童鞋说,这种做法往缓存区写垃圾,可以试试PHP抛出异常,有空研究一下再分享。
第二个设置时限的可以省略,这个程序跑下来肯定不会超过30秒。
抛出异常,try-catch还可以这样用,学习了,我好好想想!你是一个好人!