【发布时间】:2014-12-18 13:21:13
【问题描述】:
是否可以从某个点开始循环?
$iterator = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($path, $flags));
$startTime = microtime(true);
foreach($iterator as $pathName => $file){
// file processing here
// after 5 seconds stop and continue in the next request
$elapsedSecs = (microtime(true) - $startTime);
if($elapsedSecs > 5)
break;
}
但是我如何在下一个请求中从我的断点恢复?
【问题讨论】:
-
1.恢复已处理项目的数量;如果未设置,则将其初始化为零; 2.进入循环,跳过处理的项目数; 3.处理一项; 4.数一数; 5. 打破循环; 6. 将值传递给下一个请求(使用会话或查询字符串)。冲洗并重复。