我有一个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);
}发布于 2011-10-31 11:52:34
PHP可能并不是完成这项任务的合适工具,但是您可以做的是:
可以通过多种方式启动后台进程,包括:
这将需要一些努力来避免多次执行和/或重叠的问题。
发布于 2011-10-31 07:17:50
我用这个,很好,不是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已启用)它不能很好地工作。
https://stackoverflow.com/questions/7948197
复制相似问题