
我們在之前學(xué)習(xí)過函數(shù)遍歷的方法,相信大家都掌握具體的使用了。除此之外,使用遞歸也是遍歷文件夾不錯的選擇。下面我們先就遍歷方法進(jìn)行說明,然后帶來實例的介紹。
1、方法說明
(1)定義函數(shù),判斷是否為目錄
(2)如果是目錄,則打開目錄,返回目錄句柄
(3)循環(huán)從目錄句柄中開始讀取
(4)判斷讀取的文件名是否為目錄,如果是目錄,則開始遞歸。
2、實例
- <!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)) {
- //如果讀取到".",或".."時,則跳過
- 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遞歸遍歷文件夾的方法,只要對遞歸的流程有所了解,就可以展開有關(guān)的遞歸練習(xí)啦。