PHP遍歷目錄和文件及子目錄和文件
阿新 • • 發佈:2019-01-22
close 進行 listdir 目錄下的文件 sed read file 目錄 調用函數
正常直接使用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‘));
PHP遍歷目錄和文件及子目錄和文件