DirectoryIterator e RecursiveDirectoryIterator

DirectoryIterator: visualiza conteúdo de arquivos dentro de um diretório

$iterator = new DirectoryIterator( $directory );
foreach($iterator as $item) {
    if($item->isDot()) continue;
    echo $item->getRealPath();
}

RecursiveDirectoryIterator: visualiza conteúdo de arquivos dentro de um ou mais diretórios de forma recursiva.

$iterator = new RecursiveIteratorIterator( 
    new RecursiveDirectoryIterator(  $directory  ), 
        RecursiveIteratorIterator::SELF_FIRST
);
foreach($iterator as $file) { 
    if($file->isDir()) continue;
    if($file->getExtension() == 'php' && $include->getFilename() != 'exemplo.php') {
        include_once( $file->getRealPath() );
    } 
}

isDot e isDir - Checa se o item é um diretório.

 

getFilename - Obtém o nome e extesao do arquivo
getPathname - Obtém o caminho nome e extesao do arquivo
getBasename - Obtém o nome e extesao do arquivo ("mesmo q getFilename")
getRealPath - Obtém o caminho nome e extesao do arquivo (resolvendo links simbólicos)

 

Mais informações:
https://www.php.net/manual/pt_BR/class.directoryiterator.php

https://www.php.net/manual/pt_BR/class.recursivedirectoryiterator.php

 

 

 

 

Categorias: PHP