這篇文章主要介紹了php遍歷文件夾下的所有文件和子文件夾示例,這裡提供二個方法,需要的朋友可以參考下
遍歷目錄,結果存入數組。支持php4及以上。php5以後可用scandir()函數代替while循環。 代碼如下: <?php /** * @param string $dir * @return array */ function my_scandir($dir) { $files = array(); if ( $handle = opendir($dir) ) { while ( ($file = readdir($handle)) !== false ) { if ( $file != ".." && $file != "." ) { if ( is_dir($dir . "/" . $file) ) { $files[$file] = my_scandir($dir . "/" . $file); } else { $files[] = $file; } } } closedir($handle); return $files; } } function my_scandir1($dir) { $files = array(); $dir_list = scandir($dir); foreach($dir_list as $file) { if ( $file != ".." && $file != "." ) { if ( is_dir($dir . "/" . $file) ) { $files[$file] = my_scandir1($dir . "/" . $file); } else { $files[] = $file; } } } return $files; } $result = my_scandir('./'); $result = my_scandir1('./'); ?> 另一個實現方法 代碼如下: function fetchDir($dir) { foreach(glob($dir.'*') as $file) { echo $file,"n"; if(is_dir($file)) { fetchDir($file); } } } fetchDir("D:wampwwwany"); 還可以把‘*', 換成 DIRECTORY_SEPARATOR.'*' ,把‘n'換成PHP_EOL ,這樣可以跨平台了。