Programando o Intentándolo

Mostrar archivos de una carpeta con PHP

Aunque normalmente cuando se quiere acceder a algún archivo lo que se suele hacer es almacenar su ruta en base de datos puede haber ocasiones en las que por el caso que sea no se quiera usar una base de datos. Aquí vamos a ver como se puede recorrer la estructura de directorios mediante PHP y como podemos mostrar las imágenes de una carpeta sin saber cuantas hay ni que nombres tienen.

En este primer ejemplo vamos a recorrer recursivamente todos las carpetas a partir de la ruta indicada y que se muestre una lista con las carpetas tabuladas al estilo del explorador de Windows.

Para poder mostrar el contenido de un directorio en PHP hay que usar la función opendir(ruta_directorio) que devuelve un manejador/gestor y luego tenemos que pasarle este resultado a la función readdir(gestor/manejador_directorios) que devuelve el siguiente elemento del directorio por lo que se puede usar como iterador para recorrer el directorio y finalmente con la función closedir(gestor/manejador_directorios) se cierra el gestor de directorios previamente abierto.

La comparación de readdir en el while no se hace directamente porque si en lugar de comprobar que no sea false se hiciese directamente en el caso de que hubiese una carpeta o archivo con el nombre 0 saldría del bucle porque interpretaría que se han acabado los elementos del directorio. Aunque supongo que no es muy habitual poner ese nombre a nada, siempre es mejor hacer las cosas bien.

También se comprueba que el “archivo” no sea ni “.” ni “..” porque siempre están en todos los directorios (como es logico) pero no aportan absolutamente nada.

Con el ejemplo anterior se puede ver como mostrar los archivos de un directorio con PHP pero ciertamente es un ejemplo de poca utilidad más allá de ver como funciona por eso voy a poner otro ejemplo de como mostrar las imágenes de una carpeta usando la misma técnica aunque en este caso sin hacer la función recursiva porque normalmente querremos mostrar las imágenes de un directorio concreto, sin recorrer nada más.

Así de simple es mostrar las imágenes de un directorio con PHP y simplemente hay que tener en cuenta que para que la imagen se pueda visualizar hay que concatenar en nombre de la imagen con la ruta.

Y el formato de la ruta para llamar a la función es el siguiente:

Y si quieres te puedes descargar ambos ejemplos para comprobar su funcionamiento aquí.

  • Facebook
  • Twitter
  • Delicious
  • Google Plus
  • LinkedIn
  • StumbleUpon
  • Pinterest
  • Digg
  • Email
  • RSS
  • Print
  • Add to favorites