【发布时间】:2012-06-09 08:30:57
【问题描述】:
我需要获取指定目录中 JPG 文件的总数,包括它的所有子目录。没有子子目录。
结构如下:
目录1/ 2 个文件 子目录 1/ 8 个文件总共 dir1 = 10 个文件
目录2/ 5 个文件 子目录 1/ 2 个文件 子目录 2/ 8 个文件总共 dir2 = 15 个文件
我有这个功能,它不能正常工作,因为它只计算最后一个子目录中的文件,总数是实际文件数量的 2 倍。 (如果我在最后一个子目录中有 40 个文件,将输出 80)
public function count_files($path) {
global $file_count;
$file_count = 0;
$dir = opendir($path);
if (!$dir) return -1;
while ($file = readdir($dir)) :
if ($file == '.' || $file == '..') continue;
if (is_dir($path . $file)) :
$file_count += $this->count_files($path . "/" . $file);
else :
$file_count++;
endif;
endwhile;
closedir($dir);
return $file_count;
}
【问题讨论】: