View file File name : gradm.php Content :<?php $dir = "./grubhub_analtic/test"; $dfff= scanAllDir($dir); echo "<pre>"; print_r($dfff); function scanAllDir($dir) { $result = []; foreach(scandir($dir) as $filename) { if ($filename[0] === '.') continue; $filePath = $dir . '/' . $filename; if (is_dir($filePath)) { foreach (scanAllDir($filePath) as $childFilename) { $datKey = $filename . '/' . $childFilename; //$result[$datKey] = $childFilename; if (is_dir($datKey)) { foreach (scanAllDir($datKey) as $chil2) { $result[] = $chil2; } } } } else { $result[] = $filename; } } return $result; } function RAgetFiles($main_dir, $result = array()) { $dirs = scandir($main_dir); foreach($dirs as $dir) { if (is_dir("$main_dir/$dir")){ if ($dir === '.' || $dir === '..') { //$result[$dir] = $files; continue; } $files=scandir($main_dir."/".$dir); $files2=scandir($files); $files3=scandir($files2); $result[$dir] = $files3; } } return $result; } $rafiles = RAgetFiles('./grubhub_analtic/test/2025'); echo '<pre>'; //print_r($rafiles); echo '</pre>'; function scanAllDir_bkp($dir) { $result = []; foreach(scandir($dir) as $filename) { if ($filename[0] === '.') continue; $filePath = $dir . '/' . $filename; if (is_dir($filePath)) { foreach (scanAllDir($filePath) as $childFilename) { $result[] = $filename . '/' . $childFilename; } } else { $result[] = $filename; } } return $result; } function listFolderFiles2($dir){ $ffs = scandir($dir); unset($ffs[array_search('.', $ffs, true)]); unset($ffs[array_search('..', $ffs, true)]); return $res = getData($ffs); // prevent empty ordered elements if (count($ffs) < 1) return; echo '<ol>'; foreach($ffs as $ff){ echo '<li>'.$ff; if(is_dir($dir.'/'.$ff)) listFolderFiles2($dir.'/'.$ff); echo '</li>'; } echo '</ol>'; } function getData($arr) { $res = array(); $iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($arr)); foreach($iterator as $key=>$value) { $pair = array($key, $value); array_push($res, $pair); } return $res; } // All key-value-pairs are stored in $res listFolderFiles2($dir); function listFolderFiles($dir) { echo '<ol>'; foreach (new DirectoryIterator($dir) as $fileInfo) { //echo "<pre>ddd";print_r($fileInfo);die; if (!$fileInfo->isDot()) { echo '<li><a href="'.$fileInfo->getPathname().'"'.$fileInfo->getFilename().'">' . $fileInfo->getFilename();echo '</a></li>'; if ($fileInfo->isDir()) { listFolderFiles($fileInfo->getPathname()); } } } echo '</ol>'; } listFolderFiles($dir); function recursive_directory($dirname,$maxdepth=5, $depth=0){ if ($depth >= $maxdepth) { return false; } $subdirectories = array(); $files = array(); if (is_dir($dirname) && is_readable($dirname)) { $d = dir($dirname); while (false !== ($f = $d->read())) { $file = $d->path.'/'.$f; // skip . and .. if (('.'==$f) || ('..'==$f)) { continue; }; if (is_dir($dirname.'/'.$f)) { array_push($subdirectories,$dirname.'/'.$f); } else { array_push($files,$dirname.'/'.$f); }; }; $d->close(); foreach ($subdirectories as $subdirectory) { $files = array_merge($files, recursive_directory($subdirectory, $maxdepth, $depth+1)); }; } return $files; } $fileData = fillArrayWithFileNodes(new DirectoryIterator($dir)); echo "<pre>==rrrrrr"; print_r($fileData); // print the result.. function fillArrayWithFileNodes( DirectoryIterator $dir ) { $data = array(); foreach ( $dir as $node ) { if ( $node->isDir() && !$node->isDot() ) { $data[$node->getFilename()] = fillArrayWithFileNodes( new DirectoryIterator( $node->getPathname() ) ); } else if ( $node->isFile() ) { $data[] = $node->getFilename(); } } return $data; } //$files = recursive_directory('grubhub_analtic/test/2025'); //print_r($fileData); // print the result... ?>