RECORRER DIRECTORIOS EN PHP: MÉTODOS Y EJEMPLOS

Hay varias maneras de recorrer directorios en php:
  • Tratando el directorio y ficheros directamente:
     $dir = opendir($path);
     while ($elemento = readdir($dir)){
       ......
     }
      closedir($dh); 
    
  • Escaneando el directorio:
    //Devolverá ficheros
    $ficheros1  = scandir($path);
    
  • Usando glob:
    //*.txt solo mostrará los ficheros txt se puede cambiar por otra extensión
    foreach (glob("*.txt") as $nombre_fichero) {
        echo "Tamaño de $nombre_fichero " . filesize($nombre_fichero) . "\n";
    }
    
  • Usando spl:
    // Se crea un nuevo objeto DirectoryIterator
    $directorio = new DirectoryIterator($ruta);
    foreach ($directorio as $item) {
        echo $item;
    }
    
    //Si en la ruta pasada hay subdirectorios se puede recorrer de forma recursiva los subdirectorios
    
    $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($ruta));
    foreach ($iterator as $archivo) {
        if ($archivo->isDir()) {
       continue; // Saltar directorios
        }
        
    }