我有一个foreach循环,它调用一个函数来设置数组的值。有时需要几个小时才能完成,具体取决于通过完成功能运行的次数。
我想要的是进度条或至少1/1000完成的类型进度指示器。
这可能吗?如果是这样,我怎么能在我的代码中实现它?它会在函数中还是在foreach循环中?正在研究并找到一些使用for和$ i ++的例子但是我不确定如何实现它,因为我已经使用了foreach循环。
非常感谢。
function scrape_amazon($links) {
//my code runs here to set all values in $ret array.
}
foreach($links as $link) {
$ret = scrape_amazon($link);
}
答案 0 :(得分:0)
我用这个,好吧,不是ajax,只做潮红,但不是那么难看。
我放置了一张图片
<img src='progress.gif' height=18 width=0 name=probar>
然后设置在服务器上完成的每个事件echo
一行,然后flush
:
echo "<script language='JavaScript'>\ndocument.probar.width=".(($sys["probar_width"]/$task_all)*$task_i).";\n</script>\n";
flush();
如果您的服务器(例如apache)使用缓存(例如启用了gzip),它将无法正常工作。
答案 1 :(得分:0)
PHP可能不是真正适合此任务的工具,但您可以做的是:
启动后台进程可以通过多种方式完成,包括:
需要一些努力来避免多次执行和/或重叠的问题。