PHP遍歷目錄和文件及子目錄和文件


正常直接使用opendir方法,就可以讀到所有的目錄和文件

文件可以直接記錄下來,目錄則需要再進一步獲取里邊的文件信息

也就是,如果當前讀出來是目錄,則需要再次調用函數本身(遞歸),直到沒有目錄

循環最后是讀到沒有文件(目錄也是文件)結束

 1 <?php
 2 // 列出指定目錄下所有目錄和文件
 3 function listDirFiles($dir)
 4 {
 5     $arr = [];
 6     if (is_dir($dir)) {//如果是目錄,則進行下一步操作
 7         $d = opendir($dir);//打開目錄
 8         if ($d) {//目錄打開正常
 9             while (($file = readdir($d)) !== false) {//循環讀出目錄下的文件,直到讀不到為止
10                 if  ($file != '.' && $file != '..') {//排除一個點和兩個點
11                     if (is_dir($file)) {//如果當前是目錄
12                         $arr[$file] = listDirFiles($file);//進一步獲取該目錄里的文件
13                     } else {
14                         $arr[] = $file;//記錄文件名
15                     }
16                 }
17             }
18         }
19         closedir($d);//關閉句柄
20     }
21     return $arr;
22 }
23 
24 
25 print_r(listDirFiles('go'));

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM