Php DirectoryIterator从文件夹加载文件的范围

问题描述 投票:0回答:1

我正在使用DirectoryIterator从目录加载mp3文件。我想知道我可以加载一定范围吗?例如仅检索10个文件?然后在每个新请求上检索下10个,依此类推。如何实现呢?我将使用自己的计数器还是DirectoryIterator可以选择?如果我使用自己的计数器,我如何确保结果不会以某种方式受到影响,例如文件返回的顺序可能有所不同?

$di = new DirectoryIterator($dir);
foreach ($di as $fileinfo) {


}
php range scandir
1个回答
0
投票

您可以计数自己,并使用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>";
}
© www.soinside.com 2019 - 2024. All rights reserved.