11-Operaciones con ficheros

En el desarrollo y administracion de sitios webs resulta bastante habitual tener que acceder a ficheros del servidor para manipularlos.Por esta razon en este capitulo vamos a describir las funciones creadas en PHP para realizar dichaws operaciones.

Cambio, creacion y borrado de directorios

chdir(ruta_al_directorio); nos permite cambiar el directorio activo a la ruta establecida como parametro.
mkdir(ruta_al_directorio,permisos); Esta funcion crea un nuevo directorio en la ruta que hemos indicado, el segundo parametro debe ser un numero octal y es por el que vienen determinados los permisos.
rmdir(ruta_directorio); Borra el directorio pasado como parametro.

Procesamiento de los elementos de un directorio

Supongamos que queremos realizar una operacion determinada como una busqueda,visualizacion,etc sobre todos los ficheros de un directorio.PHP nos proporciona una solucion a este problema: el manejador de directorios (representa una conexion logica con un directorio determinado que permite leer la lista con los nombres de los elementos contenidos en el directorio actual).

La funcion empleada para abrir un directorio es opendir(ruta); cuya funcion como ya se ha comentado es abrir el directorio de la ruta especificada.Una vez se ha ejecutado opendir() podemos realizar tres operaciones:


La funcion readdir(manejador); nos devuelve una cadena con el nombre del siguiente elemento del directorio ya sea un subdirectorio o un fichero.
La funcion rewinddir(manejador); procesa un directorio y situa el puntero interno en el primer directorio.
La funcion closedir(manejador); finaliza el tratamiento de entradas de directorio.

La clase dir

PHP nos proporciona una pseudoclase predefinida para el manejo de ficheros. Esta clase no aporta ninguna funcionalidad que no hayamos visto hasta este punto pero recopila todas las funciones a partir de una sola. Para poder trabajar con un directorio primero hay que crear una instancia de clase dir por medio de su constructor. $directorio=dir(ruta_directorio);

Este objeto cuenta con 3 metodos y 2 propiedades(las propiedades solo de consulta por lo que no pueden ser modificadas). Los metodos empleados son read(),rewind() y close()

Copiado,borrado y renombrado de ficheros

copy(fichero_origen,fichero_destino); Realiza una copia de un fichero
unlink(nombre_fichero); Elimina el fichero
rename(nombre_antiguo,nombre_nuevo); Renombra el fichero pasado como parametro.

Atributos de ficheros y directorios

Los ficheros y directorios poseen una serie de caracteristicas propias denominadas atributos. PHP pone a nuestra disposicion un conjunto de funciones que nos permitiran obtener informacion sobre los archivos o carpetas.

La funcion file_exists(elemento); Comprueba que el elemento pasado como parametro exista, el objetivo de la funcion filesize(nombre_fichero); nos informa sobre el tamaño del fichero en bytes.
La funcion fileatime(fichero); nos informa sobre el ultimo acceso al fichero.
La funcion filemtime(fichero); nos informa sobre la ultima modificacino del fichero.
La funcion filectime(fichero); nos informa sobre el ultimo cambio al fichero.
La funcion filetype(fichero); nos devuelve el tipo de elemento que estamos tratando. Los resultados posbiles que puede devolver son:

Resultado
Significado
block
Dispositivo de bloques
char
Caracteres
dir
Directorio
fifo
FIFO
file
Fichero
link
Enlace
unknown
Desconocido

Chmod(elemento_directorio,permisos); recibe como parametro el elemento y los permisos que deseamos otorgarle a dichos elementos