用PHP實(shí)現(xiàn)遞歸循環(huán)每一個(gè)目錄
更新時(shí)間:2010年08月08日 13:17:25 作者:
很多時(shí)候我們要遍歷一個(gè)文件夾里面的所有目錄,列出里面所有的文件,PHP本身自帶的有一個(gè)readdir的函數(shù),不過只能讀取當(dāng)前的目錄,根據(jù)這個(gè)函數(shù),我寫了另外一個(gè)函數(shù),用來實(shí)現(xiàn)我的需求。
函數(shù)的原理很簡單,主要就是用了一下遞歸調(diào)用。
function file_list($path){
if ($handle = opendir($path)) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
if (is_dir($path."/".$file)) {
echo $path.": ".$file."<br>";//去掉此行顯示的是所有的非目錄文件
file_list($path."/".$file);
} else {
echo $path.": ".$file."<br>";
}
}
}
}
}
這個(gè)函數(shù)還可以繼續(xù)做一些改進(jìn),加入一些文件夾或文件的圖標(biāo)什么的,這樣就可以做成更強(qiáng)大的一個(gè)函數(shù)了,有興趣的朋友可以擴(kuò)展的一下。
復(fù)制代碼 代碼如下:
function file_list($path){
if ($handle = opendir($path)) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
if (is_dir($path."/".$file)) {
echo $path.": ".$file."<br>";//去掉此行顯示的是所有的非目錄文件
file_list($path."/".$file);
} else {
echo $path.": ".$file."<br>";
}
}
}
}
}
這個(gè)函數(shù)還可以繼續(xù)做一些改進(jìn),加入一些文件夾或文件的圖標(biāo)什么的,這樣就可以做成更強(qiáng)大的一個(gè)函數(shù)了,有興趣的朋友可以擴(kuò)展的一下。
相關(guān)文章
php中將html中的br換行符轉(zhuǎn)換為文本輸入中的換行符
PHP中的有個(gè)非常好的函數(shù):nl2br(),將文本框中的換行轉(zhuǎn)換為HTML頁面的<br />,但是如何實(shí)現(xiàn)將html中的<br />換行符轉(zhuǎn)換為文本框中的換行符呢2013-03-03PHP獲取數(shù)據(jù)庫表中的數(shù)據(jù)插入新的表再原刪除數(shù)據(jù)方法
在本篇文章中我們給大家分享了關(guān)于PHP獲取要?jiǎng)h除數(shù)據(jù)庫表中的數(shù)據(jù)插入新的表再原刪除數(shù)據(jù)的詳細(xì)方法和相關(guān)代碼,需要的朋友們參考下。2018-10-10thinkphp項(xiàng)目部署到Linux服務(wù)器上報(bào)錯(cuò)“模板不存在”如何解決
一個(gè)項(xiàng)目部署到Linux服務(wù)器上去的時(shí)候,發(fā)現(xiàn)某些模板竟然會(huì)報(bào)錯(cuò)說“模板不存在:/Application/Admin/....”,這篇文章就是介紹了thinkphp項(xiàng)目部署到Linux服務(wù)器上報(bào)錯(cuò)“模板不存在”的解決方法,感興趣的小伙伴們可以參考一下2016-04-04