Operaciones
con Ficheros
En el desarrollo
y administración de sitios webs resulta bastante habitual tener
que acceder a ficheros del servidor para manipularlos. Por esta razón
en este capítulo vamos a describir las funciones creadas en PHP
para realizar dichas operaciones.
|
|
Cambio, creación y borrado
de directorios
chdir(ruta_al_directorio);:
Nos permite cambiar el directorio activo a la ruta establecida como parámetro.
mkdir(ruta_al_directorio,permisos);
:Esta función crea un nuevo directorio en la ruta que
hemos indicado, el segundo parámetro debe ser un numero octal y
es por el que vienen determinados los permisos.
rmdir(ruta_directorio);
: Borra el directorio pasado como parámetro.
Procesamiento
de los elementos de un directorio
Supongamos que queremos realizar
una operación determinada como una búsqueda, visualización,
etc sobre todos los ficheros de un directorio. PHP nos proporciona una
solución a este problema: el manejador de directorios (representa
una conexión lógica con un directorio determinado que permite
leer la lista con los nombres de los elementos contenidos en el directorio
actual).
La función empleada para abrir
un directorio es opendir(ruta); cuya
función como ya se ha comentado es abrir el directorio de la ruta
especificada. Una vez se ha ejecutado opendir() podemos realizar tres operaciones:
La función readdir(manejador);
: nos devuelve una cadena con el nombre del siguiente elemento
del directorio, ya sea un subdirectorio o un fichero.
La función rewinddir(manejador);
: procesa un directorio y sitúa el puntero interno en
el primer directorio.
La función 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 métodos y 2 propiedades(las propiedades sólo
de consulta por lo que no pueden ser modificadas. Los métodos 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 parámetro.
Atributos de ficheros y directorios
Los ficheros y directorios poseen
una serie de características propias denominadas atributos. PHP
pone a nuestra disposición un conjunto de funciones que nos permitirán
obtener información sobre los archivos o carpetas.
La función
file_exists(elemento); : Comprueba que el elemento pasado como
parámetro exista.
filesize(nombre_fichero);
: nos informa sobre el tamaño del fichero en bytes.
La función
fileatime(fichero); : nos informa sobre el ultimo acceso al
fichero.
La función
filemtime(fichero); : nos informa sobre la ultima modificación
del fichero.
La función
filectime(fichero); : nos informa sobre el último cambio
al fichero.
La función
filetype(fichero); : nos devuelve el tipo de elemento que estamos
tratando. Los resultados posibles que puede devolver son:
|
Resultado
|
Significado
|
|
block
|
Dispositivo de bloques
|
|
char
|
Caracteres
|
|
dir
|
Directorio
|
|
fifo
|
FIFO
|
|
file
|
Fichero
|
|
link
|
Enlace
|
|
mysql_close(conexion)
|
Desconocido
|
Chmod(elemento_directorio,permisos);:
recibe como parámetro el elemento y los permisos que deseamos otorgarle
a dichos elementos
|