最近写一个功能,将目录下的 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;
- }
- }