Leer un directorio con PHP

Bienvenidos a VerTutoriales.com, en esta ocasión vamos a ver un poco como movernos por la información de nuestro disco o de un disco en un servidor remoto. Vamos a aprender exactamente a leer un directorio local con PHP .

El uso de esta función puede ser para generar un navegador de archivos, (en mi caso voy a ir más adelante leyendo cada directorio dentro del raiz para mostrar a un usuario las diferentes opciones que puede descargar, pero empecemos por el principio que es leer el directorio raiz). Vamos con el código:

<?
//le pasamos la ruta de acceso
$ruta = “/miruta/”;

//cargamos el directorio
$dir = opendir($ruta);

//Mostramos lo encontrado
while ($elemento = readdir($dir))
{
echo $elemento.”<br>”;
}

//terminamos con el directorio
closedir($dir);
?>

Como podeis ver es muy sencillo hacer una lectura de un directorio, como os comenté yo lo voy a utilizar para que el usuario pueda elegir una opción y más adelante descargarla, este directorio estará en un servidor remoto y el gestor irá leyendo directorio por directorio mostrando la información que contenga cada carpeta para luego descargar lo que el usuario elija. Pero despues de las pruebas me arrojaba el siguiente error:

Warning: opendir(http://www.dominio.es/plantillas/) [function.opendir]: failed to open dir: not implemented in C:\xampp\htdocs\leeplantilla.php on line 6

Warning: readdir(): supplied argument is not a valid Directory resource in C:\xampp\htdocs\leeplantilla.php on line 9

Warning: closedir(): supplied argument is not a valid Directory resource in C:\xampp\htdocs\leeplantilla.php on line 15

Investigando un poco, parece ser que no se puede acceder a una URL remota para leer el arbol de directorios, supongo que por permisos, lo cual me hizo probar a poner el código en la carpeta local, y funcionó a la perfección me mostró el archivo que llama, un directorio que tenía y los famosos . (directorio actual) y .. (directorio padre).

Así que bueno, os dejo el código para que lo utiliceis en local, yo seguiré investigando a ver de que manera soluciono las actualizaciones para mis usuarios 😀

Si tienes alguna duda sobre este tutorial puedes comentarla en el foro.

Un saludo!

Te puede interesar:

9 comentarios

  • Herickberto commented on 26 octubre, 2010 Reply

    hey gente de vertutoriales de verdad que son unos dioses ó diosas me emociona que compartan tanta información.

    saben he buscado quien es el web master ó Masters pero no aparece o no lo he visto, deberian compartir un nombre o nick para hacer llegar las gracias de forma personal

    sigan asi kanijos se les agradece

    • VideoTutoriales commented on 27 octubre, 2010 Reply

      Gracias por los “arrumacos” jeje

      Actualmente somos dos quienes escribimos.

      Y la mejor forma de agradecerlo es hacerlo en los artículos que te ayudaran o realizando comentarios sobre estos.

      La verdad que nos ayuda mucho que la gente comente, nos anima a seguir y ver que le está sirviendo a la gente.

      De paso te invito al foro de html5. La dirección http://www.forohtml5.com. Si quieres compartir dudas o conocimiento, escribenos!

      Un saludo y gracias otra vez 🙂

  • Alejandro commented on 29 noviembre, 2012 Reply

    Hola:

    De antemano gracias por la ayuda:

    Con PHP necesito acceder a un directorio de la raiz, una vez ahi necesito ver la lista de archivos que contiene ese directorio, con la opcion de abrir o leer cualquier archvo alla presente; por ejemplo tengo ahi varios documentos .PDF y necesito abrir o leer esto archivos con adobe acrobat reader.

    Alejandro
    gracias gracias gracias

    • VideoTutoriales commented on 29 noviembre, 2012 Reply

      Utilizando la misma función que está puesta arriba puedes ver los ficheros, no pongas ningún filtro y listo, lo único que tienes que hacer es añadirle una url para que lo abra, tambíen está en los comentarios, revísalos y si tienes alguna duda de como listarlos y abrirlo como enlace lo comentas, pero no creo, está toda la información

  • t commented on 3 junio, 2013 Reply

    creo que debes repasar alguna cosa

  • t commented on 3 junio, 2013 Reply

    ser� mostrado ?????????????

    esto debe ser por el cotejamiento de la db

  • VideoTutoriales commented on 3 junio, 2013 Reply

    Buenas, no hay base de datos en ese momento, solo la lectura de un directorio en un servidor remoto 😉

  • VideoTutoriales commented on 3 junio, 2013 Reply

    Esto lo tengo resuelto, si hace falta cuelgo la solución para remoto, lo hice de otra manera diferente al final 🙂

  • paco commented on 30 agosto, 2013 Reply

    puedes poner el codigo final del que hablas, para mirar el directorio desde URL?
    gracias!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *