急求:关于PHP实时向客户端输出数据的有关问题
程序员文章站
2024-02-08 15:19:16
...
急求:关于PHP实时向客户端输出数据的问题
测试代码如下:
ob_start();
for($i = 1; $i $sourceName = 'filetoupload' . $i;
$imageArray = array();
$message = "Image $i has been uploaded to the server";
echo $message;
flush();
ob_flush();
usleep(500000);
}
ob_end_flush();
?>
测试结果如下:
在本地服务器上该脚本就可以边运行边输出,可是在内网服务器上运行就是100次循环运行完后才输出;
想要的正确结果:
如同在本地服务器上运行结果一样,边运行边输出显示。请问为什么同样的脚本在内网服务器执行就是不同的结果,是不是与php.ini中的哪个配置项有关??? 与哪些配置项有关???望得到大家的帮助,先感谢了
------解决方案--------------------
你假如真的急的话!我想出一个办法!就是页面传值,不要用循环了!
测试代码如下:
ob_start();
for($i = 1; $i $sourceName = 'filetoupload' . $i;
$imageArray = array();
$message = "Image $i has been uploaded to the server";
echo $message;
flush();
ob_flush();
usleep(500000);
}
ob_end_flush();
?>
测试结果如下:
在本地服务器上该脚本就可以边运行边输出,可是在内网服务器上运行就是100次循环运行完后才输出;
想要的正确结果:
如同在本地服务器上运行结果一样,边运行边输出显示。请问为什么同样的脚本在内网服务器执行就是不同的结果,是不是与php.ini中的哪个配置项有关??? 与哪些配置项有关???望得到大家的帮助,先感谢了
------解决方案--------------------
你假如真的急的话!我想出一个办法!就是页面传值,不要用循环了!
- PHP code
$id=empty($_GET['id'])?1:intval($_GET['id']); $sourceName = 'filetoupload' . $i; $imageArray = array(); $message = "Image $i has been uploaded to the server"; echo $message; if ($id>=100){ exit(); } $id++; $msg.=""; echo $msg; exit();
------解决方案--------------------
为这问题 我开启了好久没用的linux 最终发现是缓存的问题
- PHP code
------解决方案--------------------
------解决方案--------------------
这个缓冲和浏览器相关,和apache的某些模块也相关。
keep try
===================================
- PHP code
ob_end_clean(); apache_setenv('no-gzip', 1); ini_set('zlib.output_compression', 0); ini_set('implicit_flush', 1); ob_start();//开始缓冲数据 for($i = 1; $i "; echo $message.str_repeat(" ",1024);//ie有默认的1k buffer ob_flush(); flush(); usleep(500000); }相关文章
相关视频
上一篇: 怎样防止从Cache中读取WML页面
下一篇: mysql in 有关问题