Aprendemos a navegar por la arborescencia de directorios del sistema de archivos del servidor.
Siguiendo con la saga de artículos referentes a la explotación de archivos por medio de PHP, vamos a presentar algunas funciones que nos pueden ser muy útiles en la navegación por directorios.
Este tipo de funciones podrían, por ejemplo, servirnos para crear exploradores de archivos en nuestro navegador.
La forma de tratar con estas funciones es la similar a la que ya hemos visto para le lectura secuencial de archivos. Podemos distinguir tres etapas elementales:
Por otra parte, la creación de un directorio por medio de la función mkdir requiere la definición de los derechos de acceso por medio de un numero entero. Esperamos poder explicar en qué consisten estos derechos próximamente.
Como ejemplo sencillo de lo que podemos hacer con estas funciones, aquí os presentamos un pequeño script de lectura que os permite visualizar el contenido de un directorio:
Otra forma de abordar la gestión de directorios es por medio de la clase dir que permite la creación de un objeto sobre el cual podremos aplicar toda una serie de métodos equivalentes a las funciones previamente vistas. Si estas familiarizado con la programación orientada a objetos, puede que esta modalidad te resulte mas intuitiva. Si no sabes en qué consiste la programación orientada a objetos, puedes visitar este artículo.
En este caso, la forma de operar es análoga a la ya vista:
Como ejemplo, he aquí el script equivalente al abordado para el caso de las funciones, esta vez usando la clase dir:
Los scripts propuestos no son más que ejemplos sencillos de lo que estas funciones pueden ofrecernos. En vuestras manos queda el combinar estas funciones con otras vistas en este mismo taller de manera a crear aplicaciones que gestionen los archivos y directorios de vuestro servidor.
Recordamos que esta lista no es más que una recopilación y que muchas otras funciones relacionadas pueden sernos también útiles.
Funciones de gestión de directorios | ||
Función | Descripción | Sintaxis |
opendir | Abre un directorio situado en $path y le asigna un identificador $dir | $dir = opendir($path) |
readdir | Lee un elemento del directorio $dir abierto previamente con opendir y desplaza el puntero al elemento siguiente | readdir($dir) |
rmdir | Elimina el directorio $dir | rmdir($dir) |
mkdir | Crea un directorio situado en $path con los derechos de acceso $derechos (entero) | mkdir($path, $derechos) |
rewinddir | Vuelve el puntero de lectura del directorio $dir al primer elemento | rewinddir($dir) |
closedir | Cierra el directorio $dir abierto previamente con opendir | closedir($dir) |
La forma de tratar con estas funciones es la similar a la que ya hemos visto para le lectura secuencial de archivos. Podemos distinguir tres etapas elementales:
- Apertura del directorio por medio de la función opendir asignándole al mismo tiempo un identificador
- Realización de las tareas necesarias en relación con ese directorio
- Clausura del identificador por medio de la función closedir
Por otra parte, la creación de un directorio por medio de la función mkdir requiere la definición de los derechos de acceso por medio de un numero entero. Esperamos poder explicar en qué consisten estos derechos próximamente.
Como ejemplo sencillo de lo que podemos hacer con estas funciones, aquí os presentamos un pequeño script de lectura que os permite visualizar el contenido de un directorio:
<? //definimos el path de acceso $path = "mi/camino"; //abrimos el directorio $dir = opendir($path); //Mostramos las informaciones while ($elemento = readdir($dir)) { echo $elemento."<br>"; } //Cerramos el directorio closedir($dir); ?> |
Otra forma de abordar la gestión de directorios es por medio de la clase dir que permite la creación de un objeto sobre el cual podremos aplicar toda una serie de métodos equivalentes a las funciones previamente vistas. Si estas familiarizado con la programación orientada a objetos, puede que esta modalidad te resulte mas intuitiva. Si no sabes en qué consiste la programación orientada a objetos, puedes visitar este artículo.
En este caso, la forma de operar es análoga a la ya vista:
- Creamos un objeto $dir con la instrucción: $dir = dir($path)
- Realizamos las tareas necesarias llamando a los métodos de la clase dir
- Cerramos el directorio con el método close
Métodos de la clase dir | ||
Método | Descripción | Sintaxis |
path | Indica el path del directorio | $objeto->path |
read | Lee un elemento del directorio | $objeto->read |
rewind | Vuelve el puntero de lectura del directorio al primer elemento | $objeto->rewind |
close | Cierra el directorio | $objeto->close |
Como ejemplo, he aquí el script equivalente al abordado para el caso de las funciones, esta vez usando la clase dir:
<? //definimos el path de acceso $path="mi/camino/"; //instanciamos el objeto $dir=dir($path); //Mostramos las informaciones echo "Directorio ".$dir->path.":<br><br>"; while ($elemento = $dir->read()) { echo $elemento."<br>"; } //Cerramos el directorio $dir->close(); ?> |
Los scripts propuestos no son más que ejemplos sencillos de lo que estas funciones pueden ofrecernos. En vuestras manos queda el combinar estas funciones con otras vistas en este mismo taller de manera a crear aplicaciones que gestionen los archivos y directorios de vuestro servidor.
Recordamos que esta lista no es más que una recopilación y que muchas otras funciones relacionadas pueden sernos también útiles.
Rubén Alvarez
Rubén es doctor en química y programador principalmente en sus ratos libres con...