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
纯手打笔记,如有错误请评论提出,谢谢。