Php DirectoryIterator диапазон загрузки файлов из папки - PullRequest
0 голосов
/ 27 октября 2019

Я использую DirectoryIterator для загрузки mp3 файлов из каталога. Мне интересно, могу ли я загрузить определенный диапазон? Например восстановить только 10 файлов? И затем при каждом новом запросе получать следующие 10 и т. Д. Как я могу этого достичь? Буду ли я использовать свой собственный счетчик, или у DirectoryIterator есть какая-то опция? Если я использую свой собственный счетчик, как я могу убедиться в том, что результат не будет скомпрометирован каким-то образом, например, если файлы возвращаются отсортированными по-другому?

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


}

1 Ответ

0 голосов
/ 27 октября 2019

Вы можете считать себя и работать с методами 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>";
}
...