Total de arquivos de contagem do PHP na função de subdiretórios directory AND
Eu preciso obter uma contagem total de arquivos JPG dentro de um diretório especificado, incluindo todos os seus subdiretórios. Não há subdiretórios.
Estrutura parece com isso:
dir1/ 2 files subdir 1/ 8 files
totaldir1 = 10 arquivos
dir2/ 5 files subdir 1/ 2 files subdir 2/ 8 files
totaldir2 = 15 arquivos
Eu tenho essa função, que não funciona bem, pois só conta arquivos no último subdiretório, e o total é 2x maior que a quantidade real de arquivos.(irá gerar 80 se eu tiver 40 arquivos no último subdir)
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;
}