php进行大量数据读写操作时如何动态输出?
PHP中文网
PHP中文网 2017-04-10 18:10:00
0
4
659

有个php程序需要进行大量读写操作,每次执行都要一分多钟,每次执行完后或者报错才能在页面上显示出所有echo的结果,现在想边执行边输出的话有什么好的思路?

PHP中文网
PHP中文网

认证高级PHP讲师

reply all(4)
大家讲道理

1、建议操作分批执行

2、直接输出缓冲(结果)到浏览器

<?php
//设置最长执行时间为5分钟
set_time_limit(300);
//在循环输出前,要关闭输出缓冲区
ob_end_clean();
for($i=0; $i<100000; $i++){
    echo $i."操作已完成...<br />";
    @ob_flush();
    flush();
}
刘奇

你的问题描述不完整

我的猜测:
你是不是在用php脚本做读写操作,然后再浏览器上打开,打开很慢或者有时候会输出内容但是报错
假如是我的猜测的问题
第一种:优化你的代码,你可以把读写分批次,去执行,不要大数组和很大数据量的去读写,因为服务器的反应时间一般只有30秒
第二种:更改你的服务器响应时间,加长服务器响应的时间,比如apache相应时间是30秒,你可以设置长一点
第三种:就是用shell脚本去执行你的读写操作,把你写的内容输入到一个文件里,然后查看!

黄舟

ob_end_clean();

PHPzhong

感觉你所描述的东西,像是导出功能。
导出功能:频繁读写。
边执行,边输出,类似于效果,已导出100条,已导出200条... 这样的效果。

具体文章链接:关于数据导出超时的问题

有问题,可以关注公众号,给我留言即可~

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template