RecursiveDirectoryIterator

RecursiveDirectoryIterator extends FilesystemIterator to recursively traverse an entire directory tree. Combined with RecursiveIteratorIterator, it visits every file and sub-directory under a root path.

<?php

$iterator = new RecursiveIteratorIterator(
    new RecursiveDirectoryIterator('/path/to/dir', FilesystemIterator::SKIP_DOTS)
);

foreach ($iterator as $file) {
    if ($file->isFile()) {
        echo $file->getPathname() . PHP_EOL;
    }
}

?>

Documentation

See also RecursiveDirectoryIterator Class and RecursiveIteratorIterator Class.

Related : Standard PHP Library (SPL), Iterator, DirectoryIterator, File System, DIRECTORY_SEPARATOR, RecursiveIterator, SplSubject

Added in PHP 5.1