Рекурсивный итератор каталогов отображает точки, но не каталоги? - PullRequest
0 голосов
/ 19 июня 2020

В этой строке должны быть перечислены все файлы и подкаталоги из $absPath:

$iterator = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($absPath,
 \RecursiveIteratorIterator::SELF_FIRST | \FilesystemIterator::SKIP_DOTS));

Но я получаю только файлы!

Если я удалю флаг \FilesystemIterator::SKIP_DOTS, я также получу подкаталоги , но с добавленными точками, например:

[0] => abc/.
[1] => abc/..
[2] => abc/def/.
[3] => abc/def/..

Кто-нибудь знает, почему это происходит?

1 Ответ

1 голос
/ 19 июня 2020

У вас есть флаг для RecursiveIteratorIterator в аргументах RecursiveDirectoryIterator.

$iterator = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($absPath,
 \FilesystemIterator::SKIP_DOTS), \RecursiveIteratorIterator::SELF_FIRST);
...