Se debe a que no reinicias el vector que contiene los archivos, entonces el primer directorio funciona bien, pero el segundo cuenta los archivos del segundo mas los que habian en el primero... y lo mismo pasa con los siguientes directorios. Creo que asi se corrige.
   Código PHP:
    //a partir de aquí, el código para contar los archivos
$archivos = Array();
$dh  = opendir($path);
while (false !== ($file = readdir($dh))) {
   $archivos[] = $file;
}