ijunxiong
<?php

 

// getFolderFiles 取 $folder下所有完整路径文件名 (无目录), $ergodic 表示 是否遍历子目录,默认不遍历
// 返回 array 如 [ \'f:/abc/tmp0/a.txt\', \'f:/abc/tmp0/b.txt\', \'f:/abc/tmp0/dic1/a.txt\' ]
function getFolderFiles($folder, $ergodic = false) {
    //首先先读取文件夹
    $names = scandir($folder);
    $getnamelist = [];
    // 
    foreach ($names as $name) {
        $fullname = $folder . \'/\' . $name;
        if (is_dir($fullname)) {//如果是文件夹则执行
            if($ergodic == false) {
                continue;
            }
            if ($name == \'.\' || $name == \'..\') {//判断是否为系统隐藏的文件.和..  如果是则跳过否则就继续往下走,防止无限循环再这里。
                continue;
            }
            // f:/abc/tmp0/1-composer.json
            $list0 = getFolderFiles($fullname, $ergodic);//因为是文件夹所以再次调用自己这个函数,把这个文件夹下的文件遍历出来
            $getnamelist = array_merge($getnamelist, $list0);
        } else {
            array_push($getnamelist, $fullname);
        }
    }
    return $getnamelist;
}

 

var_dump(getFolderFiles(\'f:/abc/tmp0\', true));
 
 
//ps: 参考来的,增加点是否遍历子目录与返回array,可读下下

分类:

技术点:

相关文章: