前一陣時間面試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...