[Ir al menú de PHP]
Leyendo directorios

Funciones con directorios

PHP dispone de algunas funciones que permiten obtener información sobre los contenidos de los directorios.

Algunas de estas funciones son las siguientes:

Pseudo-objeto dir

La expresión:
$b= dir (path)

en la que path es la ruta absoluta:
(../dir/subdir/subsubdir)
o relativa
(./subdir)
del directorio del que pretendemos recabar la información, se comporta como objeto que posee los siguientes métodos o funciones:

handle

Devuelve una cadena con la descripción del identificador del recurso.

path

Devuelve una cadena con la ruta hasta el directorio especificado.

read()

Realiza una lectura secuencial de los nombres y extensiones de los ficheros contenidos en el directorio especificado

rewind()

Rebobina y devuelve el puntero a la posición inicial

close()

Cierra el directorio especificado

Otras funciones

$f= opendir (path)

Recoge en la caden $f un identificador que permitirá -una vez establecido- utilizar las restantes funciones

$z= readdir ($f1)

Realiza una lectura secuencial del directorio indicado por el identificador $f1 que recoge el resultado de aplicar la función opendir.

Al realizar una lectura secuencial el puntero de lectura va apuntado al fichero siguiente al último leido.

rewinddir($f1)

Rebobina haciendo que el puntero apunte al primer fichero del directorio.

closedir($f1)

Cierra el identificador de directorio


 
 


El pseudo-objeto $b=dir("path")

Aquí tienes un ejemplo de utilización de los métodos de es pseudo-objeto. Observa que tanto el método handle como el método path se invocan sin utilizar () mientras que tando read() como rewind() como close() si utilizan esos paréntesis al invocar sus métodos.

Por si te has olvidado del funcionamiento de las clases y objetos... puedes pulsar aquí para refrescar tu memoria :-)

<?
$directorio = dir("./images");
      echo "Handle: ".$directorio->handle."<br>\n";
      echo "Path: ".$directorio->path."<br>\n";
      while($fichero=$directorio->read()) {
             echo $fichero."<br>\n";
      }
      $directorio->rewind();
      echo "nuevo listado del directorio despues de rebobinar<br>" ;
      while($fichero=$directorio->read()) {
             echo $fichero."<br>";
      }
      $directorio->close();
 ?>


ejemploD1.php


Otras funciones de directorios

Existen otras funciones -indicadas al margen- que permiten obtener la misma información que la que obtuvimos en el ejemplo anterior.

Antes de efectuar la lectura de un directorio es necesario abrirlo con la función opendir y una vez finalizada la lectura, es aconsaejable cerrarlo utilizando la función closedir.

Aquí tienes el ejemplo

<?

#abrimos el identificador de directorio

$f = opendir("./images");

#leemos el primer fichero que será "." (recuerda la estructura
#                                       de los directorios de MS-DOS)

      $fichero=readdir($f);

      echo $fichero,"<br>";

#leemos el fichero siguiente que será "." (recuerda la estructura
#                                       de los directorios de MS-DOS)

      $fichero=readdir($f);

      echo $fichero,"<br>";

#leemos el fichero siguiente  (el primer fichero "real")

      $fichero=readdir($f);

      echo $fichero,"<br>";

#rebobinamos, enviando el puntero al primer fichero

      rewinddir($f);

echo "Lista de TODOS los ficheros usando un bucle while<br>";

#leemos todos los ficheros

      while($fichero=readdir($f)) {
             echo $fichero."<br>";
      }
      closedir($f);
 ?>


ejemploD2.php

Sugerir a un/a amig@ Envíame tus comentarios
Anterior
Indice
Siguiente