Manejo de archivos en PHP

Escrito por Carla Vázquez el Viernes 15 de Febrero de 2008 a las 15:53hs

PHP presenta una serie de funciones para el manejo de archivos que permiten una amplia variedad de acciones que facilitan y resultan de extrema utilidad para el programador. Desde lo m?s b?sico hasta operaciones que exigen una cierta complejidad son requeridas para la configuraci?n de p?ginas Web. Este art?culo se propone realizar una introducci?n al manejo de archivos mediante el lenguaje PHP detallando las principales acciones posibles.

Para comenzar a operar sobre los archivos son necesarias las siguientes funciones que permiten copiar, eliminar y modificar el nombre del archivo en tratamiento:

Copiar: copy($origen,$destino)
Renombrar: rename($antes,$despues)
Eliminar: unlink($archivo)

Una vez comprendido lo anterior, se despliegan otra serie de posibilidades que se vinculan con la lectura de los archivos y las funciones requeridas para este tipo de operaciones son las siguientes:

Para realizar la apertura de un archivo la funci?n indicada es fopen, la cual a su vez le asigna un identificador id:???????

$id = Fopen($archivo, $modo)

La apertura de un archivo puede realizarse de diferentes modos de acuerdo al tipo de operaci?n que debamos realizar, y esto debe ser indicado. Aqu? los distintos modos posibles dependiendo del tipo de acci?n requerida:

El modo a se utiliza solamente para escritura y se coloca la informaci?n ?nicamente al final del archivo. Por lo tanto, la funci?n espec?fica ser?a fopen(?miarchivo.txt?,?a?). Permite, en caso de no existir el archivo, crearlo. Si en lugar de ?a? se coloca ?a+? adem?s de adicionar informaci?n se podr? tambi?n leerlo.

Cuando el objetivo es leer la informaci?n del archivo el modo de apertura se indica de esta manera: Fopen (?miarchivo.txt?, ?r?). En este caso al agregar el s?mbolo + (an?logo al ejemplo anterior) permitir? escribir sobre el archivo pero al comienzo del archivo, a diferencia del modo visto anteriormente.

Para escribir informaci?n el modo a utilizar se presenta bajo la funci?n Fopen (?miarchivo.txt?, ?w?), que permite la escritura eliminando el contenido ya existente en el archivo. El agregado del s?mbolo ?+? permite, a su vez, su lectura.

La lectura de los archivos tambi?n se presenta de distintas maneras ya sea de modo total o parcial. Para leer una l?nea de archivo utilizamos la funci?n fread que permite la lectura de un m?ximo de caracteres indic?ndolo de este modo: fread($id,$max). Hay que tener en cuenta que los caracteres se cuentan desde el principio del archivo, por lo tanto si se requiere la lectura de los primeros 50 caracteres la funci?n ser?a la siguiente: fread($id,$50). Otra posibilidad de lectura es la funci?n readfile() que permite mostrar el contenido sin abrir el archivo:

$archivo = ?miarchivo.txt?;
readfile($archivo);

La lectura completa del archivo se indica a trav?s de la funci?n fpassthru, la cual tambi?n sirve para mostrarlo: fpassthru($id).

A la hora de escribir en un archivo utilizamos la funci?n fwrite que permite escribir una cadena al interior del archivo mismo: fwrite($id, $cadena). Por ejemplo, si quisieramos abrir un archivo y comenzar a trabajar en ?l, los pasos a seguir ser?an los siguientes:

$archivo = ?miarchivo.txt?;
$id = fopen($archivo, 'w+');
$cadena = ?Aqu? lo que queremos escribir?;
fwrite($id, $cadena);
fclose($id);

Como vimos en los modos de apertura existe otro modo de escribir sobre un archivo agregando datos al final del mismo mediante el modo ?a+?: fopen(?miarchivo.txt?,?a?)

Finalmente, para cerrar el archivo se lo puede indicar de este modo utilizando la funci?n fclose: fclose($id).

Estas son las principales funciones que ofrece el lenguaje PHP para el tratamiento de archivos que resultan eficaces al momento de facilitar la programaci?n. Tambi?n existen otro conjunto diverso de herramientas que permiten un proceso din?mico y variado de acciones.


comentarios



  1. como obtengo una lista de los archivos de un directorio con php?



  2. Una duda existencial me carcome las entrañas.

    ¿Existe una manera orientada a objetos de manejar archivos? Ejemplo: para abrir BD MySQL se usa "mysql_connect()" o la forma orientada a objetos "$bd = new mysqli()".

    Para archivos tenemos "fopen()", hay algo como "$arch = new fopen()"?

    Gracias, saludos!

agregar comentario


Se permiten las etiquetas HTML , y

. Si ingresa alguna direcci?n web o direcci?n de email ser?n convertidos en enlaces autom?ticamente.





publicidad

API DE FACEBOOK
GOOGLE CALENDAR API
GOOGLE MAPS API