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