Получить только основные папки, а не подпапки
Я хочу получить основную папку без подпапок со следующим кодом:
$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);
}
}