Manipulación de archivos
Apertura de archivo
Para leer un archivo se utiliza la función fopen($ruta, $modo): resource
[1], el primer parámetro es la ruta del archivo que se desea abrir. Mientras que el modo define cómo se desea abrir dicho archivo.
Lectura de archivo
Una vez abierto el archivo, es posible leer el archivo. Existen varias manera de leer un archivo:
Leer todo el contenido
Esto puede realizarse con la función fread(resource $recurso, int $tamaño): string
[2]. Es importante destacar que el parametro tamaño establece cuántos bytes se leerán del archivo. Se finaliza la lectura cuando ocurre las siguientes posibilidades:
- Se llega al tamaño establecido de bytes
- Se llega al final de archivo (EOF)
Leer una linea a la vez
Con la función fgets(resource $recurso, int $tamaño)
[3], se lee una linea del archivo o en caso de establecer $tamaño ese número de bytes o que se llegue al EOF.
Leer un caracter a la vez
Con la función fgetc(resource $recurso)
[4], se lee carácter a la ves del archivo abierto. Luego un puntero interno apunta hacia el siguiente carácter o termina al hallar un EOF.
Escritura de archivos
Para escribir datos binarios de forma segura en un archivo se utiliza la función fwrite(resource $recurso, string $cadena)
[5]. La forma de escritura depende del modo en el que se abre el archivo, con fopen()
, si es utilizando:
- Modo W, se sobrescribirá en el archivo.
- Modo A, se agrega, al final del archivo el contenido.
Determinar fin de archivo (EOF)
Para terminar si el archivo ya llegó al final del archivo, se utiliza la función foef(resource $recurso): bool
[6].
Cierre de archivo
Una vez que el archivo fue utilizado debe cerrarse, liberando el recurso. Esto es utilizando la función fclose(resource $recurso)
[7].
Otras manipulaciones de archivos
Es posible manipular directamente a los archivos con otras funciones que pueden simplifican esta labor.
file(string $ruta)
: Al utilizar esta función se permite leer todo el archivo y devolver un array del contenido, separado en párrafos [8].file_get_contents(string $ruta)
: Devuelve el contenido de un fichero en un string[9].file_put_contents(string $ruta, $datos)
: Escribe contenido a un fichero, el contenido puede ser: string, array o un recurso [10].copy(string $origen, string $destino): bool
: Copia un archivo a un directorio. Si el archivo existe se sobrescribe [11].delete(string $ruta)
: Borra un archivo [12].
Bibliografía
- http://php.net/manual/es/function.fopen.php
- http://php.net/manual/es/function.fread.php
- http://php.net/manual/es/function.fgets.php
- http://php.net/manual/es/function.fgetc.php
- http://php.net/manual/es/function.fwrite.php
- http://php.net/manual/es/function.feof.php
- http://php.net/manual/es/function.fclose.php
- http://php.net/manual/es/function.file.php
- http://php.net/manual/es/function.file-get-contents.php
- http://php.net/manual/es/function.file-put-contents.php
- http://php.net/manual/es/function.copy.php
- http://php.net/manual/es/function.delete.php