php递归遍历文件夹

程序猿 2021-04-01 20:45:39 1500浏览 加载中

我们在之前学习过函数遍历的方法,相信大家都掌握具体的使用了。除此之外,使用递归也是遍历文件夹不错的选择。下面我们先就遍历方法进行说明,然后带来实例的介绍。

1、方法说明

(1)定义函数,判断是否为目录

(2)如果是目录,则打开目录,返回目录句柄

(3)循环从目录句柄中开始读取

(4)判断读取的文件名是否为目录,如果是目录,则开始递归。

2、实例

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <?php
    $path = "./phpmyadmin";//目标文件
        //定义函数
        function showAll($path){
            //判断是不是目录
            if(is_dir($path)){
            //如果是目录,则打开目录,返回目录句柄
                $handle = opendir($path);
                echo "<ul>";
                //循环从目录句柄中读取
                while (false !== $file = readdir($handle)) {
                    //如果读取到".",或".."时,则跳过
                    if($file == "." || $file == ".."){
                        continue;
                    }
                    echo "<li>$file</li>";
                    //判断读到的文件名是不是目录,如果是目录,则开始递归;
                    if(is_dir($path.'/'.$file)){  //加上父目录再判断
                        showAll($path.'/'.$file);
                    }
                }
                echo "</ul>";
                //关闭目录句柄
                closedir($handle);
            }
        }
        //调用函数
        showAll($path);
    ?>
</body>
</html>

以上就是php递归遍历文件夹的方法,只要对递归的流程有所了解,就可以展开有关的递归练习啦。

标签: php
最后修改:2024-04-23 21:28:00

非特殊说明,本博所有文章均为博主原创。