Итак, в основном: я хочу получить массив всех каталогов (и только каталогов / папок, без файлов) внутри данного каталога. Он не должен включать подкаталоги и родительские каталоги.
Подобный код для файлов только способ легко сделать:
$files = array_filter(scandir('/etc/icinga2/conf.d/hosts/'), function($item) {
return !is_dir('/etc/icinga2/conf.d/hosts/' . $item);
});
Но убрав отрицание в:
return !is_dir('/etc/icinga2/conf.d/hosts/' . $item);
сохраняет родительские каталоги в массиве.
Задача ещё не решена.
Других решений пока нет …