Trabajar con archivos de texto en php

Toda aplicación web suele estar dividida en dos partes, por un lado la base de datos donde se almacena toda la información, y por otro lado la programación, que es la forma en que manipulamos y jugamos con toda esa información para permitir a los usuarios disfrutar de la misma, no cuento el diseño aunque sería la tercera parte para conformar el MVC (Modelo Vista Controlador). Podría atreverme a decir que php es uno de los lenguajes de programación online del lado del servidor más estándar que podemos encontrar, así como mysql en cuanto a base de datos, así podemos comprobarlo en plataformas como wordpress, prestashop…
Una base de datos como mysql puede requerir bastante espacio, soporte y actualizaciones, además, su sintaxis, aunque es conocida por casi todo desarrollador web, no tiene por qué serlo a nivel de usuario.

Imaginemos ahora que queremos realizar una aplicación super sencilla para almacenar los contactos telefónicos de nuestros amigos. Ello implicaría, crear una base de datos, después una tabla, luego crear las columnas con sus correspondientes características, después insertar las filas…Todo ello para guardar simplemente unos cuantos nombres con sus teléfonos. ¿Pero dónde quieres llegar con todo este rollo? A ello vamos.

En ocasiones puede resultar muy útil almacenar la información en archivos del servidor, por ejemplo archivos de texto como .csv .txt, xml (excel)… Ya que son más rápidos, accesibles y estándar, tanto es así que cualquier usuario de nivel medio bajo los ha trabajado alguna vez aunque sea en el colegio. Por supuesto no todo son ventajas, también son menos seguros y pueden surgir errores de escritura si hubiera conexiones simultáneas.
Afortunadamente, php dispone de varias funciones para trabajar los archivos, por lo que sabiendo un poco de programación y conociendo estas funciones, se pueden hacer auténticas maravillas. Veamos algunas de las funciones más importantes.

FUNCIONES PARA MANEJO DE ARCHIVOS CON PHP

Veamos unas cuantas funciones que nos permitirán trabajar con archivos en php, las dividiremos en 3 apartados:

  1. Abrir y cerrar archivos o ficheros con php.
  2. Leer archivos con php
  3. Escribir archivos con php

ABRIR Y CERRAR UN ARCHIVOS CON PHP

fopen() : Esta función permite iniciar la apertura de un archivo. Tiene 2 parámetros: El nombre del archivo y el modo de apertura del archivo, veamos un ejemplo:

Supongamos que nos creamos un fichero llamado archivo.txt, donde guardamos una lista de contactos telefónicos. Abriremos el archivo con fopen()

 

fclose(): Con esta función cerraremos el archivo. Nos devolverá true o false en caso de error:

 

LEER ARCHIVOS CON PHP

File_get_contents(): Permite leer el contenido de un archivo y lo devuelve en una cadena de caracteres, supongamos que hemos creado un archivo llamado archivo.txt que contiene la frase “Bienvenido al mundo del trabajo con archivos” :

Resultado en pantalla : “Bienvenido al mundo del trabajo con archivos”.

readfile(): Con esta función también podemos leer el contenido de un archivo, sin embargo, nos devuelve el número de caracteres de dicho archivo y muestra de forma automática el contenido del mismo:

Resultado en pantalla:
Bienvenido al mundo del trabajo con archivos
El archivo contiene 44 caracteres.

file(): Permite leer el contenido de un archivo, devolviéndolo en una tabla línea por línea, por lo que para recorrerlo todo necesitaremos de un bucle. Para este caso el contenido de nuestro archivo será: “¡Hola!” y en la línea siguiente “Bienvenidos a mi blog”

Resultado en pantalla:
¡Hola!
Bienvenidos a mi blog

fgets(): La función fgets() permite leer el archivo línea a línea, por lo tanto si tenemos un archivo con muchas líneas, será preciso incluir esta función en un bucle que las recorra todas. Tiene dos parámetros, la apertura del archivo y otro opcional que es el tamaño de la línea o número de caracteres de dicha línea. Suele ir acompañada de la función feof()

ESCRIBIR UN ARCHIVO CON PHP

Para crear o escribir un archivo nuevo en modo lectura y escritura (w+) crea un archivo y pone el puntero al principio del mismo, de modo que si ya existía lo sobreescribe y sino, intenta crearlo.

BUSCAR ARCHIVOS CON PHP

ELIMINAR ARCHIVOS CON PHP

 

Tabla resumen para trabajar archivos en PHP

 

Función Descripción Sintaxis
fopen Abre un archivo y le asigna un identificador id $id = fopen($archivo, $modo)
fgets Lee una línea de un archivo hasta un numero máximo de caracteres fgets($id,$max)
fwrite ó fputs Escribe una cadena dentro del archivo fwrite($id, $cadena) ó fputs($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)

 

Y su modo de apertura (o que queremos hacer con el archivo)

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.

Recomendamos la lectura de este artículo en el que podrá ver expuesta en una tabla de forma resumida lo comentado. https://sopadecoditos.wordpress.com/2012/08/20/como-crear-archivos-txt-con-php/

http://programacion-php.readthedocs.io/es/latest/Tutorial4_Archivos.md.html

Aprendiendo PHP, parte 13: Trabajar con archivos

Si te sirve de ayuda, no dudes en compartir!Share on LinkedInShare on FacebookTweet about this on TwitterPin on PinterestShare on Google+

Deja un comentario