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

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

/**
 * @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);

最新文章

Return Top