Recopilamos algunas funciones básicas para la gestión de archivos con PHP

El tratamiento de archivos resulta ser una práctica muy común en cualquier sitio web. Muy a menudo nos vemos en la necesidad de procesar un texto para cambiarle el formato, buscar una cadena en su interior o cualquier otro tipo de operación.

PHP propone un sinfín de funciones para la gestión de archivos que van desde las más elementales de apertura, lectura y cierre a otras más rebuscadas como el cálculo de espacio en el disco duro, tamaño del archivo, gestión de derechos de acceso…

En este artículo pretendemos mostraros cuáles son las funciones más esenciales para el tratamiento de archivos para posteriormente ejemplificarlas en un par de scripts que os pueden resultar útiles:

Funciones de gestión de archivos
Función Descripción Sintaxis
copy Copia un archivo copy($origen,$destino)
rename Cambia el nombre del archivo de $antes a $despues rename($antes,$despues)
unlink Borra el archivo unlink($archivo)

Funciones para la lectura de archivos
Función Descripción Sintaxis
fopen Abre un archivo y le asigna un identificador id. Veremos el modo más adelante $id = Fopen($archivo, $modo)
fgets Lee una línea de un archivo hasta un numero máximo de caracteres fgets($id,$max)
fwrite Escribe una cadena dentro del archivo fwrite($id, $cadena)
fseek Avanza o retrocede el puntero del archivo un cierto numero de posiciones fseek($id,$posiciones)
feof Comprueba si el puntero que lee el archivo ha llegado al final feof($id)
fpassthru lee completamente el archivo y lo muestra fpassthru($id)
fclose Cierra el archivo abierto previamente fclose($id)

Las operaciones más elementales, copia, borrado y cambiar el nombre, requieren únicamente el nombre (y path) del archivo sobre el cual se ejerce la operación. Para operaciones más complejas, como la lectura de líneas o la escritura de texto dentro del archivo, se requiere de una previa apertura del archivo al cual le asignaremos un indentificador $id.

Una vez abierto el archivo, podremos desplazarnos a lo largo de él por medio de un puntero imaginario que avanza o retrocede por las líneas de texto y mediante el cual nos situaremos en el lugar escogido para insertar, modificar o simplemente copiar una cadena.

Existen distintos modos de apertura que nos permiten definir las acciones que podemos realizar sobre el archivo. Aquí os mostramos los diferentes modos que, como veréis, son de lo más variado:

Modos de apertura de archivos
Sintaxis Descripción
‘r’ Sólo lectura
‘r+’ Lectura y escritura
‘w’ Sólo escritura
‘w+’ Lectura y escritura. Suprime el contenido anterior si se escribe. El archivo es creado si no existe.
‘a’ Sólo escritura. El archivo es creado si no existe y el puntero se coloca al final.
‘a+’ Lectura y escritura. El archivo es creado si no existe y el puntero se coloca al final.

A notar que si tratamos con archivos en binario hemos de colocar una b delante del modo (ej. ba, bw+,…)

Recordamos que esta lista no es más que una recopilacion y que muchas otras funciones relacionadas pueden sernos también útiles.