用一个函数遍历目录下所有文件

一、使用函数:

  is_dir(): 函数检查指定的文件是否是目录,返回布尔值

  scandir(directory): 函数返回指定目录中的文件和目录的数组

二、遍历思路:

  (1)首先接收一个目录名称,然后用scandir扫描,其中会有两个额外的目录是“."和”..“需要去掉

  (2)然后遍历扫描后的每个文件是否为目录文件,如果是则在回调到第一步扫描里面的文件

三、实现代码:

$dir="think";

function scanDirList($dir){
    $scan = scandir($dir);      //扫描文件夹
    foreach ($scan as $key => $value) {
        if($value != '.' && $value != '..'){    //去除掉多余的'.'和'..'两个文件
            $path = $dir.'/'.$value;    //拼接当前父级目录,使最终输出完整目录
            if(is_dir($path)){      //判断扫描后的文件是否为目录,如果是则递归继续扫描,否则输出当前完整路径的文件名称
                scanDirList($path); 
            }else{
                echo "<p>$path</p>";
            }
        }
    }
}

scanDirList($dir);

猜你喜欢

转载自www.cnblogs.com/legendheng/p/9080365.html