Recorrer carpetas en php

$archivos = scandir(".");
print_r($archivos);

$gestor_dir = opendir(".");
while ($nombre_fichero = readdir($gestor_dir)) {
 $ficheros[] = $nombre_fichero;
}

print_r($ficheros);
recorrerCarpeta(".");
function recorrerCarpeta($carpeta) {
 echo "Contenido de: " . $carpeta . "<br/>";
 $archivos = scandir($carpeta);
 array_shift($archivos);
 array_shift($archivos);
 foreach ($archivos as $a){
 if (is_dir($a)){
 recorrerCarpeta($carpeta."/".$a);
 }
 else{
 echo $carpeta."/".$a."<br/>";
 }
 }
}