我正在使用DirectoryIterator从目录加载mp3文件。我想知道我可以加载一定范围吗?例如仅检索10个文件?然后在每个新请求上检索下10个,依此类推。如何实现呢?我将使用自己的计数器还是DirectoryIterator可以选择?如果我使用自己的计数器,我如何确保结果不会以某种方式受到影响,例如文件返回的顺序可能有所不同?
$di = new DirectoryIterator($dir);
foreach ($di as $fileinfo) {
}
您可以计数自己,并使用next()和current()方法。最后,还必须使用valid()检查自身。
Foreach总是从头开始返回所有元素。
$di = new DirectoryIterator(__DIR__);
for($i=0; $i<5 AND $di->valid();$i++, $di->next()){
echo $di->current()->getFilename()."<br>";
}
//next 5 files
for($i=0; $i<5 AND $di->valid();$i++, $di->next()){
echo $di->current()->getFilename()."<br>";
}