# Programación en PHP/Manejo de ficheros

Trabajar con archivos es una parte importante en cualquier lenguaje de programación y PHP no es nada diferente. No importa cuales sean las razones por las que necesites manipular archivos, PHP los acomodará felizmente a través de una gran variedad de funciones. Deberías haber leído y comprendido los conceptos básicos de éste libro antes de seguir aquí.

## fopen y fclose

fopen es una de las funciones básicas para la manipulación de archivos. Abre un archivo en un cierto modo (que tu establecerás) y devuelve el recurso del puntero de archivo. Usando este recurso se puede leer y/o escribir en el archivo, antes de cerrarlo con la función fclose.
En el ejemplo anterior se puede observar que el archivo se abre sólo para lectura especificando "r" como el modo. Para ver una lista completa de los modos existentes para fopen podes encontrarlos en la página Manual PHP.
Abriendo y cerrando el archivo es bien, pero para poder realizar operaciones útiles necesitas saber acerca de las funciones fread y fwrite.
Cuando PHP finaliza la ejecución de un programa, todos los archivos abiertos son automáticamente cerrados. Asi que por lo tanto no es necesario cerrar un archivo luego de abrirlo y haber trabajado con el mísmo, pero a su vez, es considerado una buena practica de programación.

## Lectura de archivos

La lectura de archivos se puede hacer de varias formas. Si tan solo lo que se necesita es el contenido del archivo, se puede usar la función file_get_contents. Si queremos cada una de las líneas del archivo en una matriz (array) se puede usar el comando file. Para un control total sobre la lectura del archivo se recomienda utilizar fread.
Por lo general, estas funciones son intercambiables y cada una puede ser utilizada para cumplir con la función de cada una. Las primeras dos no requieren abrir el archivo con fopen o cerrarlo con fclose. Éstas funciones son bastante útiles para operaciones rápidas realizadas de una sola vez. Si se planea realizar múltiples operaciones en un archivo es mejor utilizar fopen en conjunto con fread, fwrite y fclose ya que es mucho más eficiente.
A continuación se muestra ejemplos utilizado las funciones mencionadas anteriormente.
Ejemplo usando file_get_contents:
El resultado es:
Esta función lee el archivo completo como una cadena (o string) para luego ser manipulada como si fuese cualquier otra cadena.
Ejemplo usando file:
El resultado es:
Esta función lee el archivo completo como una matriz (o array). Cada item en la matriz corresponde a una linea en el archivo.
Ejemplo usando fread:
El resultado es:
Esta función puede leer hasta una cantidad especificada de bytes del archivo y devolviéndolos como una cadena. Para la mayor parte, las primeras dos funciones son preferidas pero hay ocasiones en las que ésta función es necesaria.
Como puedes ver, con estas tres funciones se podrá leer fácilmente datos desde un archivo en la forma que sea conveniente para trabajar con los mismos. El siguiente ejemplo demuestra como estas tres funciones pueden se utilizadas para hacer los trabajos de las otras pero esto es opcional. Puede saltar y pasar hacia la sección Escritura si no está interesado.