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!

Carlos Dk

Apasionado por la enseñanza y el SEO

9 comentarios en “Leer un directorio con PHP

  • el 26 octubre, 2010 a las 8:20 pm
    Permalink

    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

    Respuesta
    • el 27 octubre, 2010 a las 12:48 am
      Permalink

      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 🙂

      Respuesta
  • el 29 noviembre, 2012 a las 5:30 pm
    Permalink

    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

    Respuesta
    • el 29 noviembre, 2012 a las 5:32 pm
      Permalink

      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

      Respuesta
  • el 3 junio, 2013 a las 6:21 pm
    Permalink

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

    esto debe ser por el cotejamiento de la db

    Respuesta
  • el 3 junio, 2013 a las 6:29 pm
    Permalink

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

    Respuesta
  • el 3 junio, 2013 a las 6:36 pm
    Permalink

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

    Respuesta
  • el 30 agosto, 2013 a las 4:40 pm
    Permalink

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

    Respuesta

Deja una respuesta

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.