PHP讀取目錄樹

2021-07-11 14:32:16 字數 1486 閱讀 7004

前一陣時間面試xx公司筆試題中竟然有這樣一道題:

使用php列出目錄樹!

當時一看就懵逼了!基本的思路還是有的,不過是使用遞迴演算法,但對php操作目錄檔案的方法卻不是很了解,所以今天好好補習一下!

解題思路:

列出目錄中的檔案。

判斷是否是目錄,如果是目錄就繼續遞迴。

將所有檔名,存入多維陣列

<?php 

function

recurdir

($pathname)

//取出目錄中的檔案和子目錄名,使用scandir函式

$allfiles = scandir($pathname);

//遍歷他們

foreach($allfiles

as$filename)

//路徑加檔名

$fullname = $pathname.'/'.$filename;

//如果是目錄的話就繼續遍歷這個目錄

if(is_dir($fullname)) else

}//取出檔案

if($temp)

}return

$result;

}//驗證一下這個函式是否好用!

$tree = recurdir('cart_ajax');

echo

"";print_r($tree);

echo

"

";

?>

cart_ajax資料夾結構

js資料夾下的內容

顯示結果

大功告成了!目錄的級別確實是這樣的,不過看起來也太low了吧!稍微美化一下吧!

function

beautifultree

($arr, $l = '-|')

else

}$l = '';

return

$str;

}$beautifultree = beautifultree($tree);

echo

"";print_r($beautiful);

echo

"

";
顯示結果

php 遞迴讀取目錄

看到很多面試題有這個,今天有機會寫了一下。要注意的是 在opendir這個函式用完後,要注意closedir,因為安全問題,開啟的目錄依然存在於記憶體中,在併發情況下最好關閉,不然容易被破壞。function readfilefromdir dir file dir.directory separa...

php讀取目錄下的檔案

工作需要寫了乙個讀取指定目錄下的檔案,並顯示列表,點選之後讀取檔案中的內容 高手拍磚,目錄可以自由指定,我這裡直接寫的是獲取當前檔案目錄下面的所有檔案 讀取指定目錄下面的檔案內容 author administrator class catlog public function test 獲取指定目...

目錄檔案讀取

int main start while drt readdir dir null if s isreg file stat.st mode printf s is regular file,judged by s isreg n drt d name if s isfifo file stat.s...