Question

I just want to list the sub dirs in the main dirs by using RecursiveIteratorIterator,

$array_directories = array(
    'core/controller/',
    'core/model/',
    'core/helper/'
);

foreach($array_directories as $path_directory){

   $iterator = new RecursiveIteratorIterator(
        new RecursiveDirectoryIterator($path_directory),
        RecursiveIteratorIterator::SELF_FIRST
    );

    foreach ($iterator as $fileObject) {
        if ($fileObject->isDir()) {
            $files[] = $fileObject;
        }
    }


}

print_r($files);

result,

Array
(
    [0] => SplFileInfo Object
        (
            [pathName:SplFileInfo:private] => core/controller\webfront
            [fileName:SplFileInfo:private] => webfront
        )

    [1] => SplFileInfo Object
        (
            [pathName:SplFileInfo:private] => core/model\design
            [fileName:SplFileInfo:private] => design
        )

)

But I am after,

Array
(
    [0] => core/controller\webfront
    [1] => core/model\design
)

is it possible?

Was it helpful?

Solution

if ($fileObject->isDir()) {
    $files[] = $fileObject->getPathname();
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top