Получить только основные папки, а не подпапки

Я хочу получить основную папку без подпапок со следующим кодом:

$dir = new RecursiveDirectoryIterator($admin['data_folder_main'], FilesystemIterator::SKIP_DOTS);
$it = new RecursiveIteratorIterator($dir, RecursiveIteratorIterator::SELF_FIRST);
$it->setMaxDepth(1);

foreach($it AS $fileinfo) {
    if($fileinfo->isDir() AND !$it->isDot()) {
        echo $it->getSubPathName().'<br>';
    }
}

Как сейчас, этот код печатает

main-folder
main-folder/subfolder
main-folder/subfolder

Есть ли RecursiveDirectoryIterator или же RecursiveIteratorIterator есть функция, которая говорит, что "это главная папка"? Или я должен использовать какой-то обходной код? Если да, как этот код будет выглядеть?

1 ответ

Не берите в голову! Я исправил это так:

$dir = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($admin['data_folder_main']), FilesystemIterator::SKIP_DOTS, RecursiveIteratorIterator::SELF_FIRST);

foreach($dir as $name => $object) {
    if($dir->isDir() AND !$dir->isDot()) {
        echo basename($name);
    }
}
Другие вопросы по тегам