不論是面試還是正常工作需要都會用到遍歷文件夾下的所有文件,今天就記錄一下筆記。廢話不多說直接上代碼: 運行結果: 源代碼已上傳GitHub:https://github.com/cuiyuanxin/php-demo/blob/master/dir.php 純手打筆記,如有錯誤請評論提出,謝謝。 ...
不論是面試還是正常工作需要都會用到遍歷文件夾下的所有文件,今天就記錄一下筆記。廢話不多說直接上代碼:
1 <?php 2 3 /** 4 * 遍歷當前文件夾展示所有的文件和目錄 5 */ 6 7 function dirList($dir_path = '') { 8 if(is_dir($dir_path)) { 9 $dirs = opendir($dir_path); 10 if($dirs) { 11 while(($file = readdir($dirs)) !== false) { 12 if($file !== '.' && $file !== '..') { 13 if(is_dir($file)) { 14 echo $dir_path . '/' . $file . '<br>'; 15 dirList($dir_path . '/' . $file); 16 } else { 17 echo $dir_path . '/' . $file . '<br>'; 18 } 19 } 20 } 21 closedir($dirs); 22 } 23 } else { 24 echo '目錄不存在!'; 25 } 26 } 27 28 dirList('/var/www/html/php-demo'); 29 30 function dir_list($dir) { 31 if(!is_dir($dir)) return false; 32 $dir_list = array(); 33 $opendir = opendir($dir); 34 if($opendir) { 35 while(($file = readdir($opendir)) !== false) { 36 if($file !== '.' && $file !== '..') { 37 $tem = $dir . '/' . $file; 38 if(is_dir($tem)) { 39 $dir_list[$tem . '/'] = $file . '/'; 40 dir_list($tem); 41 } else { 42 $dir_list[] = $file; 43 } 44 } 45 } 46 closedir($opendir); 47 return $dir_list; 48 } 49 } 50 51 $dir = dir_list('/var/www/html/php-demo'); 52 var_dump($dir);
運行結果:
源代碼已上傳GitHub:https://github.com/cuiyuanxin/php-demo/blob/master/dir.php
純手打筆記,如有錯誤請評論提出,謝謝。