通过本函数,可以计算出指定目录的所有文件个数,以及遍历所有的文件
/**
* @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);