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