Aşağıdaki kodlar işe yarayacaktır
function getDirContents($dir, $filter = '', &$results = array()) {
$files = scandir($dir);
foreach($files as $key => $value){
$path = realpath($dir.DIRECTORY_SEPARATOR.$value);
if(!is_dir($path)) {
if(empty($filter) || preg_match($filter, $path)) $results[] = $path;
} elseif($value != "." && $value != "..") {
getDirContents($path, $filter, $results);
}
}
return $results;
}Yukarıdaki kodda filtreleme de yapabilirsin.
getDirContents('/xampp/htdocs/WORK') klasörü ve altındaki her şeyi getirir.
getDirContents('/xampp/htdocs/WORK', '/\.php$/') php uzantılıları alırsın.
Aşağdaki kod daha modern bir yöntem
$rii = new RecursiveIteratorIterator(new RecursiveDirectoryIterator('path/to/folder'));
$files = array();
foreach ($rii as $file) {
if (!$file->isDir())
$files[] = $file->getPathname();
}