目录遍历和计算文件个数的简单函数

通过本函数,可以计算出指定目录的所有文件个数,以及遍历所有的文件

/**
 * @path 路径,支持相对和绝对
 * @absolute 返回的文件数组,是否包含完整路径
 */
function get_files($path, $absolute=1) {
    $files = array();
    $_path = realpath($path);
    if (!file_exists($_path)) return false;
    if (is_dir($_path)) {
        $list = scandir($_path);
        foreach ($list as $v) {
            if ($v == '.' || $v == '..') continue;
                $_paths = $_path.'/'.$v;
            if (is_dir($_paths)) {
                //递归
                $files = array_merge($files, get_files($_paths,$absolute));
            } else {
                $files[] = $absolute>0 ? $_paths : $v;
            }
        }
    } else {
        if (!is_file($_path)) return false;
        $files[] = $_path;
    }
    return $files;
}

$a = get_files('./Caige/api');
$b = get_files('./Caige/api', 0);
echo '<pre>';
var_dump($a);
var_dump($b);
echo count($a).'<br />'.count($b);

Related post

微信公众号:程序员到架构师

最新文章

Return Top