PHP 递归遍历目录和子目录的所有文件
最近写一个功能,将目录下的 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论