Leer directorios con PHP y la clase dir

10 05 2010

Tema: Manejo de archivo en PHP
Pregunta: ¿Como listar los archivos o elementos de un directorio con PHP?
Respuesta:

Se necesita realizar tres pasos basicos :
1. Definir la ruta del directorio a leer y abrirlo.
2. Leer todos los elementos del directorio con un while hasta que no encuentre mas.
3. Cerrar el directorio abierto.

Para este ejemplo se hace uso de la clase Clase dir

<?php
/*
 * Nombre      : leerDirectorio.php
 * Descripcion : Lee un directorio especifico y muestra todos sus elementos
 * @autor      : D-m-K
 * @Fecha      : 9 Mayo 2010
 * Referencias :
 *  - http://www.desarrolloweb.com/articulos/935.php
 *  - http://co.php.net/manual/es/function.opendir.php 
 *  - http://co.php.net/manual/es/class.dir.php
 */
 
/***
 * Parametros
 *  - $path     : Ruta del directorio a leer
 * Uso la clase dir, instanciando un objeto y asi trabajar sus atributos y metodos
 *  - path     : Atributo que muestra la ruta especificada para el directorio
 *  - dir(path): Constructor que abre el directorio
 *  - read()   : Metodo que lee cada uno de los elementos del directorio avanzando en el puntero
 *  - rewind() : Metodo que devuelve el puntero del objeto al inicio
 *  - close()  : Metodo que cierra el directorio.
 * Colores usados en el ejemplo
 *  - Azul  : Para directorios
 *  - Verde : Para archivos
 ***/
function leerDirectorio($path) {
    //Creo un objeto del tipo dir, abriendo el directorio de una vez
    $dir = dir($path);
    //Muestro informacion de la ruta del directorio
    echo '

Leyendo la ruta > ' . $dir->path . '

'; //Comienzo a leer y a mostrar cada uno de los elementos del directorio while($element = $dir->read()){ $color = "#77f"; //Defino el color por defecto para los directorios if(is_dir($dir->path . $element)) //Si es un archivo $color = "#383"; //Cambia el color a mostrar //Muestro el elemento del directorio evaluado con su respectivo color echo "" . $element . "
"; } //Cierro el directorio $dir->close(); } ?> Ejemplo de como leer un directorio usando PHP

Ver ejemplo : AQUI








Seguir

Get every new post delivered to your Inbox.