PHP遍历文件夹及子文件夹下的所有文件(经典简短代码)
http://www.cublog.cn/u1/43167/showart_374765.html
直接返回一个数组:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
Php代码 function listFile($dir) { $fileArray = array(); $cFileNameArray = array(); if($handle = opendir($dir)) { while(($file = readdir($handle)) !== false) { if($file !="." && $file !="..") { if(is_dir($dir."\\".$file)) { $cFileNameArray = listFile($dir."\\".$file); for($i=0;$i<count($cFileNameArray);$i++) { $fileArray[] = $cFileNameArray[$i]; } } else { $fileArray[] = $file; } } } return $fileArray; } else { echo "111"; } } $aaa = listFile("E:\java chm"); var_dump($aaa); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
Php代码 public function read_dir_all($dir) { $ret = array(); if ($handle = opendir($dir)) { while (false !== ($file = readdir($handle))) { if($file != '.' && $file !== '..') { $cur_path = $dir . DIRECTORY_SEPARATOR . $file; if(is_dir($cur_path)) { $ret[$cur_path] = read_dir_all($cur_path); } else { $ret[$cur_path] = $cur_path; } } } closedir($handle); } return $ret; } |
http://hi.baidu.com/kkeycn/item/79fd3d27219d5fd70e37f9b7
1 2 3 4 5 6 7 8 9 10 11 12 |
Php代码 function show_list($path){ if(is_dir($path)){ $dp=dir($path); while($file=$dp->read()) if($file!='.'&&$file!='..') show_list($path.'/'.$file); $dp->close(); } echo "$path<br>"; } show_list('test'); |