Łączna liczba plików PHP w funkcji katalogu I podkatalogu

Muszę uzyskać całkowitą liczbę plików JPG w określonym katalogu, w tym WSZYSTKIE jego podkatalogi. Brak podkatalogów podrzędnych.

Struktura wygląda tak:

dir1/
2 files  
   subdir 1/
       8 files

całkowitydir1 = 10 plików

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

całkowitydir2 = 15 plików

Mam tę funkcję, która nie działa poprawnie, ponieważ liczy tylko pliki w ostatnim podkatalogu, a suma jest 2x większa niż rzeczywista liczba plików.(wyjdzie 80, jeśli mam 40 plików w ostatnim podkatalogu)

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

questionAnswers(5)

yourAnswerToTheQuestion