Dic 242013
 
Artículo PHP

Una de las tareas habituales de una aplicación es obtener un listado del contenido de un directorio para llevar a cabo algún tipo de proceso de los ficheros que contiene.

En este artículo se explica cómo listar los ficheros de un directorio en un script PHP, y cómo recorrer recursivamente un árbol de directorios.

Listar los ficheros contenidos en un directorio

En PHP, se utilizan las funciones opendir(), readdir() y closedir() para obtener los nombres de los ficheros contenidos en un directorio.

opendir() devuelve un cursor, que es pasado como argumento a la función readdir(). Cada vez que es llamada, readdir() devuelve el nombre del siguiente fichero en secuencia. Por último, closedir() cierra el cursor abierto con opendir().

Ejemplo. El siguiente script “lista_directorio.php”:

genera como resultado, en el directorio en donde lo ejecutamos:

Como vemos, en un sistema unix, readdir() devuelve también las entradas especiales “.” y “..”.

Recorrer un árbol de directorios

Para recorrer un árbol de directorios, debemos determinar cuáles de los ficheros contenidos en un directorio son a su vez directorios. Para ello utilizamos la función is_dir(). Para cada subdirectorio encontrado, llamamos recursivamente a la función que lista su contenido.

Ejemplo:

Filtrar los resultados obtenidos

Para procesar únicamente los ficheros cuyo nombre se ajusta a un determinado patrón, basta con utilizar la función preg_match.

Por ejemplo, para listar únicamente los ficheros con extensión “.txt”:

Indice de artículos sobre programación en lenguaje PHP

 Publicado por en 9:27 am

 Deja un comentario

(requerido)

(requerido)