PHP 递归遍历目录和子目录的所有文件

发布于 2020-04-11 22:36:31 字数 714 浏览 1550 评论 0

最近写一个功能,将目录下的 md 文件批量转换为 html 文件,首先就需要将遍历目录下的所有文件,这里在网站找到一个好用的方法,使用递归遍历所有的文件:

/**
* 获取目录中所有文件的路径
* @param $dir
* @return array
*/
function getdirlist($dir){  
  if(is_dir($dir)){
    $files = array();
    $child_dirs = scandir($dir);
    foreach($child_dirs as $child_dir){
      //'.'和'..'是 Linux 系统中的当前目录和上一级目录,必须排除掉,  
      //否则会进入死循环,报 segmentation falt 错误
      if($child_dir != '.' && $child_dir != '..'){
        if(is_dir($dir.'/'.$child_dir)){
          $files[$child_dir] = getdirlist($dir.'/'.$child_dir);
        }else{
          $files[] = $child_dir;
        }
      }
    }
    return $files;
  }else{
    return $dir;
  }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84961 人气
更多

推荐作者

已经忘了多久

文章 0 评论 0

15867725375

文章 0 评论 0

LonelySnow

文章 0 评论 0

走过海棠暮

文章 0 评论 0

轻许诺言

文章 0 评论 0

信馬由缰

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文