php文件操作之递归实现目录显示

时间:2021-11-20 12:45:26

<?php
function showDir($path,$lev=0){

//打开目录句柄,打开成功则返回资源,否则返回false
$fh = opendir($path);

//将资源按行取出

  while(($row = readdir($fh))!==false){

    //跳过目录为.和..,如果没有这一步,则在遍历出的目录顶部会显示.和..,即当前目录和上一级目录

    if(($row=='.')||($row == '..')){
      continue;
    }

    //重复打印,用$lev来标识目录级别,是属于一级目录还是二级或者三级目录..
    echo str_repeat('&nbsp;&nbsp;',$lev),$row,'<br>';

    //如果当前获取到的路径对应的文件名是一个目录,则使用递归思想继续遍历
    if((is_dir($path.'/'.$row))){
      showDir($path.'/'.$row,$lev+1);
    }
  }
  closedir($fh);
}
showDir('.');
?>

本地目录:

  php文件操作之递归实现目录显示

效果如下:

php文件操作之递归实现目录显示