Interactuar con Archivos – PHP
Bueno, en esta parte del curso, aprenderemos a crear, editar, abrir, cerrar y leer archivos en nuestra web. Eso se hace de forma fácil.
Creación del archivo de texto:
Para comenzar a crear un archivo, lo abriremos con fopen() y siempre hay que cerrarlo al final con fclose().
Seria algo asi:
<?php
$abrir = fopen("ficherotexto.txt", "a+");
fclose($abrir);
?>
Aunque claro, si quieres que lo cree si aún no existe, tendrás que usar cualquier modo de apertura que no sea ni ‘r’ ni ‘r+’.
Como veis, se utiliza la funcion fopen y dentro de ésta, se coloca la direccion del archivo (ficherotexto.txt) y despues el modo (a+). Os preguntareis que es esto del modo, pues es la manera en que se abrira el archivo, por ejemplo, el modo a+ lo abrira para que se pueda leer y escribir, colocara el puntero al final del archivo (puntero = donde comenzara a escribir) y creara un archivo si éste no existe.
Estos son los distintos modos:
‘r’ Apertura para sólo lectura; coloca el puntero al archivo al principio del archivo.
‘r+’ Apertura para lectura y escritura; coloca el puntero al archivo al principio del archivo.
‘w’ Apertura para sólo escritura; coloca el puntero al archivo al principio del archivo y trunca el archivo a longitud cero. Si el archivo no existe se intenta crear.
‘w+’ Apertura para lectura y escritura; coloca el puntero al archivo al principio del archivo y trunca el archivo a longitud cero. Si el archivo no existe se intenta crear.
‘a’ Apertura para sólo escritura; coloca el puntero al archivo al final del archivo. Si el archivo no existe se intenta crear.
‘a+’ Apertura para lectura y escritura; coloca el puntero al archivo al final del archivo. Si el archivo no existe se intenta crear.
‘x’ Creación y apertura para sólo escritura; coloca el puntero al archivo al principio del archivo. Si el archivo ya existe, la llamada a fopen() fallará devolviendo FALSE y generando un error de nivel E_WARNING. Si el archivo no exite se intenta crear. Esto es equivalente a especificar las banderas O_EXCL|O_CREAT para la llamada al sistema open(2) subyacente.
‘x+’ Creación y apertura para lectura y escritura; coloca el puntero al archivo al principio del archivo. Si el archivo ya existe, la llamada a fopen() fallará devolviendo FALSE y generando un error de nivel E_WARNING. Si el archivo no exite se intenta crear. Esto es equivalente a especificar las banderas O_EXCL|O_CREAT para la llamada al sistema open(2) subyacente.
Fuente: http://www.php.net
Después si lo que queremos es comenzar a escribir dentro de este archivo de texto podrian usarse varias maneras, yo os explicaré tres maneras que son:
- Meter datos directamente en el archivo de texto.
- Meter datos desde una variable en el archivo de texto.
- Meter datos desde un formulario en el archivo de texto.
METER DATOS DIRECTAMENTE EN EL ARCHIVO DE TEXTO:
Bueno, en este tan solo se trata de poner la frase que se añada en el archivo de texto. Solo se trata de añadirle un pequeño arreglillo al código de antes.
<?php
$abrir = fopen("ficherotexto.txt", "a+");
fwrite($abrir, "Esto es meter texto directamente en el archivo de texto");
fwrite($abrir, "\n");
fclose($abrir)
?>
Ahora cada vez que cargues la pagina con estos datos en tu archivo de texto se irán añadiendo esas lineas todo el rato.
ATENCIÓN: El \n es un salto de línea y siempre hay que ponerlo entre comillas (“”).
METER DATOS DESDE UNA VARIABLE EN UN ARCHIVO DE TEXTO:
Bueno, en esta parte es igual pero meter datos desde una variable. Sería algo así:
<?php
$texto = "Esto es meter datos desde una variable en el archivo de texto.";
$abrir = fopen("ficherotexto.txt", "a+");
fwrite($abrir, $texto);
fwrite($abrir, "\n");
fclose($abrir)
?>
Ahora lo mismo que antes, cada vez que cargues la página se añadirá el texto guardado en la variable $texto al archivo de texto. La variable ya sabéis que no hace falta ponerla entre comillas (“”).
METER DATOS DESDE FORMULARIO EN EL ARCHIVO DE TEXTO:
Ahora, en este que es un poco mas complicado aprenderéis a añadir texto a un fichero con los datos cargados de un formulario. Lo primero, crear la página del formulario, que sería algo así de ejemplo:
Y ahora crearemos el archivo que añadirá los datos que rellenemos en el formulario dentro del archivo de texto, éste se llamará “codigo.php” (como véis en el ‘action’ de la etiqueta ‘form’).
<?php
$abrir = fopen("ficherotexto.txt", "a+");
fwrite($abrir, "Nombre: ".$_REQUEST['nombre']);
fwrite($abrir, "\n");
fwrite($abrir, "Primer apellido: ".$_REQUEST['apellido']);
fwrite($abrir, "\n");
fwrite($abrir, "Dirección de correo electrónico (E-Mail): ".$_REQUEST['email']);
fwrite($abrir, "\n");
fwrite($abrir, "****************************");
fwrite($abrir, "\n");
fclose($abrir)
?>
Como veis, es un poquito más larguito el código :S pero bueno, eso no quita que sea fácil
Ahora que hemos aprendido a crear y escribir ficheros de textos vamos a aprender a leerlos.
Lectura de un archivo de texto
En esta parte, os enseñaré a leer y mostrar ficheros de texto en vuestra página. Es mucho más simple que lo de escribir datos en un archivo de texto. Para comenzar a leer los archivos de texto, también hay que comenzar abriendo dicho archivo y, sí, al final también hay que cerrarlo. Para leer datos de un archivo de texto usamos la función ‘fgets’. Aquí tenemos un ejemplo de que sería leer un archivo de texto.
<?php
$abrir = fopen("ficherotexto.txt", "a+");
while(!feof($abrir)){
$lectura = fgets($abrir);
$lecturabr = nl2br($lectura);
echo $lecturabr;
}
fclose($abrir);
?>
Bueno, primero abrimos el archivo de texto con ‘fopen()’ para poder trabajar con él. Usamos el bucle repetitivo while, para que se impriman todos los datos del archivo, y se mostraran todos los datos hasta que éste bucle llegue al fin del archivo.
La funcion ‘feof()’ nos indica si hemos llegado al final del archivo, si hemos llegado retorna true y en otro caso de que aun no haya llegado al final, retorna false.
Guardamos en la variable ‘$lectura’ la función ‘fgets()’ para crear otra variable llamada ‘$lecturabr’ que seran los datos del archivo con saltos de linea. Para que los saltos de línea se conviertan en ‘br /’ usamos la función ‘nl2br()’ y esa función se la ponemos a los datos que cogimos del archivo de texto, que guardamos anteriormente en la variable ‘$lectura’.
Después mostramos la variable ‘$lecturabr’ que contiene los datos del archivo de texto con saltos de línea y ya está si cargamos nuestra página, nos deberían salir los datos.
Espero que les haya gustado y por fin acabo esta entrada, porque es de las larguitas…
No veas lo que me ha llevado.
Bueno, ya saben si tienen alguna duda o no les funciona, o les da un fallo contacten conmigo por los comentarios de la entrada, o envianos un mail a la dirección:
infosumarioweb@gmail.com
Espero que hayan aprendido.
PD: Con este curso, no solo sirve para crear *.txt sino que puedes usar el formato que quieras y crear los archivos en el formato que te de la gana.
| Imprimir artículo | Este artículo fue publicado por Erik el 8 Junio 2010 a las 17:21, y está archivado en Curso PHP. Sigue las respuestas a esta entrada a través de RSS 2.0. Puedes dejar un comentario o enviar un trackback desde tu propio sitio. |
