Loading...
Recursos Web
Recursos PHP
Asterisk - VoIP
Mundo LINUX
Google Inside
Joomla CMS
Moddle LMS
Juegos Logicos
Últimas noticias
Artículos relacionados
Inicio arrow Recursos PHP arrow Funciones indispensables arrow Leer archivos de un directorio
Ingreso de Usuarios
Leer archivos de un directorio E-Mail
Escrito por Valquiria   
martes, 06 de enero de 2009

Es casi imposible evitar que tengamos la necesidad de leer los archivos que se encuentran en un directorio. Ya sea para, por ejemplo, crear una galeria de imagenes, listar archivos para su descarga etc etc etc.

Le dejo ahora una forma facil de leer archivos desde un directorio

$resource = opendir($nombre_directorio);
while ($archivo = readdir($resource)) {
}

Detallemos un poco lo que hicimos:

Primeor abrimos el directorio con la funcion opendir(), debemos pasarle como parametro la ruta al directorio. La funcion devuelve un resource al directorio, que vendria a ser como un indicador de dicho directorio. Si se produce algun problema al tratar de acceder al directorio o bien no es correcta la ruta, opendir() nos devolvera false.


Luego generamos un ciclo while que ciclara mientras, la funcion readdir(), no devuelva false en su return.
Lo que hace la funcion readdir es ver que hay dentro del directorio y devolvernos uno a uno cada elemento encontrado. Cuando la funcion llegue al final del directorio, osea que no encuentre mas archivos devolvera falso, eso cortara el ciclo y finalizara el procesamiento

La variable $resource, pasada como parametro de la funcion, es la el resultado devuelto por opendir()
La variabla $archivo , que nos guardara el valor devuelto por la funcion, es de tipo string ( salvo cuando llega al final del directorio que devuelve false)

Detalles a tener en cuenta

La funcion readdir() nos va a devolver todo lo que encuentre en el directorio, sin diferenciar archivos de directorios. Por lo tanto hay que verificar, si es que se necesita, si lo que esta devolviendo es un archivo o un directorio.
Otro dato importante, para aquellos que utilizan sistemas operativos Linux o similares, que la funcion los devuelve los archivos que referencial al directorio anterior (..) y al directorio actual (.), por lo tanto es una buena practica saltear en el ciclo estos dos archivos.

 

Un ejemplo completo de uso seria el siguiente, contemplando lo detallado anteriormente

$dir = opendir(("ruta_al_directorio");
while ($archivo = readdir($dir)) {
    if ($archivo != ".." && $archivo != "." && ! is_dir($archivo)) {
        // aca procesamos el archivo
    }
}
closedir($dir);

Al final del script cerramos el directorio con la funcion closedir(),  a la misma le pasamos como parametro, el valor devuelto por la funcion opendir()

 

Para más informacion pueden visitar la pagina oficial de php, les dejo los links a las tres funciones vistas

 

Enjoy !

» No Comments
There are no comments up to now.
» Post Comment
Email (will not be published)
Name
Title
Comment
 remaining characters
Captcha Image Regenerate code when it's unreadable
Modificado el ( martes, 06 de enero de 2009 )
 
< Anterior