Ejemplos php – Recorrer ficheros de un directorio

Pequeño ejemplo en php de cómo recorrer ficheros de un directorio.

Con este pequeño ejemplo empezamos una nueva categoría del blog, Programación php. En esta ocación vamos a crear una función que nos permita recorrer un directorio y visualizar los ficheros que contiene:

function listarArchivos( $path ){
    // Abrimos la carpeta que nos pasan como parámetro
    $dir = opendir($path);
    // Leo todos los ficheros de la carpeta
    while ($elemento = readdir($dir)){
        // Tratamos los elementos . y .. que tienen todas las carpetas
        if( $elemento != "." && $elemento != ".."){
            // Si es una carpeta
            if( is_dir($path.$elemento) ){
                // Muestro la carpeta
                echo "<p><strong>CARPETA: ". $elemento ."</strong></p>";
            // Si es un fichero
            } else {
                // Muestro el fichero
                echo "<br />". $elemento;
            }
        }
    }
}
// Llamamos a la función para que nos muestre el contenido de la carpeta gallery
listarArchivos("./gallery/");

Repasamos un poco las funciones que utilizamos en el ejemplo:

  • Con opendir() abrimos la carpeta que queremos tratar para listar su contenido.
  • Con readdir() dentro del while, vamos cogiendo elementos (ficheros) que contiene la carpeta.
  • Con is_dir() miramos si el elemento que estamos tratando es un directorio o un fichero. En el ejemplo tratamos diferente los dos elementos.
  • Al final llamamos a la función listarArchivos(«./gallery/»); pasándole la carpeta que queremos listar con la trayectorio relativa a partir de donde tenemos el fichero .php con el código.

Por tanto, con este pequeño script podemos recorrer una carpeta y mostrar su contenido. En el siguiente, trabajaremos con los ficheros ( les cambiaremos los permisos ).

Espero que os haya sido de utilidad este pequeño ejemplo en php de cómo recorrer ficheros de un directorio. Y sí, lógicamente, el código puede ser muy mejorable, y está claro que puede hacerse mucho más completo, pero sólo intenta ser un ejemplo para que veáis cómo su utilizan ciertas funciones de una manera sencilla y rápida.


Más información