PHP подсчет общего количества файлов в каталоге и функция подкаталога

Мне нужно получить общее количество файлов JPG в указанном каталоге, включая ВСЕ его подкаталоги. Нет вложенных каталогов.

Структура выглядит следующим образом:

dir1/
2 files  
   subdir 1/
       8 files

общее Dir1 = 10 файлов

dir2/ 
    5 files  
    subdir 1/ 
        2 files  
    subdir 2/ 
        8 files

общее Dir2 = 15 файлов

У меня есть эта функция, которая не работает нормально, так как она считает только файлы в последнем подкаталоге, а общее количество в 2 раза больше, чем фактическое количество файлов. (выведет 80, если у меня будет 40 файлов в последнем подкаталоге)

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;
}

Ответы на вопрос(5)

Ваш ответ на вопрос