
我們?cè)谥皩W(xué)習(xí)過(guò)函數(shù)遍歷的方法,相信大家都掌握具體的使用了。除此之外,使用遞歸也是遍歷文件夾不錯(cuò)的選擇。下面我們先就遍歷方法進(jìn)行說(shuō)明,然后帶來(lái)實(shí)例的介紹。
1、方法說(shuō)明
(1)定義函數(shù),判斷是否為目錄
(2)如果是目錄,則打開目錄,返回目錄句柄
(3)循環(huán)從目錄句柄中開始讀取
(4)判斷讀取的文件名是否為目錄,如果是目錄,則開始遞歸。
2、實(shí)例
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<?php
$path = "./phpmyadmin";//目標(biāo)文件
//定義函數(shù)
function showAll($path){
//判斷是不是目錄
if(is_dir($path)){
//如果是目錄,則打開目錄,返回目錄句柄
$handle = opendir($path);
echo "<ul>";
//循環(huán)從目錄句柄中讀取
while (false !== $file = readdir($handle)) {
//如果讀取到".",或".."時(shí),則跳過(guò)
if($file == "." || $file == ".."){
continue;
}
echo "<li>$file</li>";
//判斷讀到的文件名是不是目錄,如果是目錄,則開始遞歸;
if(is_dir($path.'/'.$file)){ //加上父目錄再判斷
showAll($path.'/'.$file);
}
}
echo "</ul>";
//關(guān)閉目錄句柄
closedir($handle);
}
}
//調(diào)用函數(shù)
showAll($path);
?>
</body>
</html>以上就是php遞歸遍歷文件夾的方法,只要對(duì)遞歸的流程有所了解,就可以展開有關(guān)的遞歸練習(xí)啦。
