Example to only return directories that are a specified depth in a tree:<?phpfunction directory_mapper($path){ $maxDepth = 3; $minDepth = 3; $iterator = new RecursiveIteratorIterator( new RecursiveDirectoryIterator($path, RecursiveDirectoryIterator::SKIP_DOTS), RecursiveIteratorIterator::SELF_FIRST, RecursiveIteratorIterator::CATCH_GET_CHILD// Ignore "Permission denied" ); $iterator->setMaxDepth($maxDepth); $paths = array($path); foreach ($iterator as $path => $dir) { if ($iterator->getDepth() >= $minDepth) { if ($dir->isDir()) { $paths[] = $path; } } } array_shift($paths); return $paths;}?>