Categoria: Programacion Tema: Php Titulo: Creacion de un archivo de texto en php
Fecha del Tema: 2013-04-21 17:31:57Creación de un archivo de texto Una actividad fundamental es poder registrar información en el servidor (no como hemos estado haciendo hasta el momento generando sólo una página con los datos cargados). Para la registración de datos en el servidor disponemos de dos herramientas que se complementan en muchos casos (archivos de texto y bases de datos). En este apartado veremos como crear un archivo de texto y añadir datos al mismo. Lo presentaremos al tema resolviendo un problema: Implementación de un libro de visitas. Para resolver este problema plantearemos dos páginas, un formulario para realizar la carga del nombre del visitante y sus comentarios (disponemos un objeto de tipo "text" y otro de tipo "textarea"): <html> <head> <title>Problema</title> </head> <body> <form action="pagina2.php" method="post"> Ingrese su nombre: <input type="text" name="nombre"> <br> Comentarios: <br> <textarea name="comentarios" rows="10" cols="40"> </textarea> <br> <input type="submit" value="Registrar"> </form> </body> </html> Este formulario es similar a los planteados en problemas anteriores, sólo le hemos agregado al control textarea, las propiedades rows y cols que dimensionan el mismo en la pantalla: <textarea name="comentarios" rows="10" cols="40"> </textarea> Veamos ahora la página (pagina2.php) que graba los datos cargados en el formulario en un archivo: <html> <head> <title>Problema</title> </head> <body> <?php $archivo=fopen("datos.txt","a") or die("Problemas en la creacion"); fputs($archivo,$_REQUEST[`nombre`]); fputs($archivo," "); fputs($archivo,$_REQUEST[`comentarios`]); fputs($archivo," "); fputs($archivo,"-------------------------------------------------------- "); fputs($archivo," "); fclose($archivo); echo "Los datos se cargaron correctamente."; ?> </body> </html> En primer lugar creamos o abrimos el archivo de texto "datos.txt". El segundo parámetro de la función fopen indica la forma de apertura de archivo "a" (lo crea o si ya existe el archivo lo abre para añadir datos al final), "w" (crea el archivo de texto, si existe borra su contenido) y la última forma de apertura del archivo es "r" (abre el archivo para su lectura). Como en este problema nos interesa que el archivo vaya creciendo con los datos que aportan los visitantes al sitio lo abrimos para añadir, parámetro "a". La función retorna una referencia al archivo, la almacenamos en una variable. Si el archivo no se puede abrir, se ejecuta la instrucción que se encuentra luego del operador "or" en nuestro caso llamamos a la función die que finaliza la ejecución del programita PHP mostrando como mensaje el texto que le pasamos a dicha función. <?php $archivo=fopen("datos.txt","a") or die("Problemas en la creacion"); ?> Para guardar los datos utilizamos la función fputs que tiene dos parámetros: la referencia al archivo donde guardamos y el string a guardar. <?php fputs($ar,$_REQUEST[`nombre`]); fputs($ar," "); ?> Para el salto de línea en el archivo de texto, usamos los caracteres . De esta forma cuando leamos el archivo de texto lo haremos línea a línea. Cuando dejamos de trabajar con el archivo llamamos a la función fclose. Hay que tener muy presente que el archivo se almacena en el servidor y no en la máguina de la persona que está navegando. Luego veremos como leer el contenido del archivo y mostrarlo en otra página del sitio. Confeccionar un programa en PHP que permita hacer el pedido de pizzas via internet. El formulario debe ser: Nombre:[..............] Direccion:[...................] Jamon y queso:[x] Cantidad[...] Napolitana:[x] Cantidad[...] Muzzarella;[x] Cantidad[...] [Confirmar] Para el ingreso del nombre, dirección y cantidad de pizzas de cada tipo disponer objetos de la clase "text". Disponer tres objetos de tipo "check" para seleccionar los tipos de pizzas. Por último disponer un botón para el envío de datos: "submit". Grabar en un archivo de texto cada pedido, separados por una línea de puntos (obligatoriamente dar el nombre del archivo de texto como "datos.txt", esto es para que no se llene mi disco duro de archivos, es decir de ahora en adelante siempre que se cree un archivo de texto debe llamarse datos.txt)
Creación de un archivo de texto Una actividad fundamental es poder registrar información en el servidor (no como hemos estado haciendo hasta el momento generando sólo una página con los datos cargados). Para la registración de datos en el servidor disponemos de dos herramientas que se complementan en muchos casos (archivos de texto y bases de datos). En este apartado veremos como crear un archivo de texto y añadir datos al mismo. Lo presentaremos al tema resolviendo un problema: Implementación de un libro de visitas. Para resolver este problema plantearemos dos páginas, un formulario para realizar la carga del nombre del visitante y sus comentarios (disponemos un objeto de tipo "text" y otro de tipo "textarea"): <html> <head> <title>Problema</title> </head> <body> <form action="pagina2.php" method="post"> Ingrese su nombre: <input type="text" name="nombre"> <br> Comentarios: <br> <textarea name="comentarios" rows="10" cols="40"> </textarea> <br> <input type="submit" value="Registrar"> </form> </body> </html> Este formulario es similar a los planteados en problemas anteriores, sólo le hemos agregado al control textarea, las propiedades rows y cols que dimensionan el mismo en la pantalla: <textarea name="comentarios" rows="10" cols="40"> </textarea> Veamos ahora la página (pagina2.php) que graba los datos cargados en el formulario en un archivo: <html> <head> <title>Problema</title> </head> <body> <?php $archivo=fopen("datos.txt","a") or die("Problemas en la creacion"); fputs($archivo,$_REQUEST[`nombre`]); fputs($archivo," "); fputs($archivo,$_REQUEST[`comentarios`]); fputs($archivo," "); fputs($archivo,"-------------------------------------------------------- "); fputs($archivo," "); fclose($archivo); echo "Los datos se cargaron correctamente."; ?> </body> </html> En primer lugar creamos o abrimos el archivo de texto "datos.txt". El segundo parámetro de la función fopen indica la forma de apertura de archivo "a" (lo crea o si ya existe el archivo lo abre para añadir datos al final), "w" (crea el archivo de texto, si existe borra su contenido) y la última forma de apertura del archivo es "r" (abre el archivo para su lectura). Como en este problema nos interesa que el archivo vaya creciendo con los datos que aportan los visitantes al sitio lo abrimos para añadir, parámetro "a". La función retorna una referencia al archivo, la almacenamos en una variable. Si el archivo no se puede abrir, se ejecuta la instrucción que se encuentra luego del operador "or" en nuestro caso llamamos a la función die que finaliza la ejecución del programita PHP mostrando como mensaje el texto que le pasamos a dicha función. <?php $archivo=fopen("datos.txt","a") or die("Problemas en la creacion"); ?> Para guardar los datos utilizamos la función fputs que tiene dos parámetros: la referencia al archivo donde guardamos y el string a guardar. <?php fputs($ar,$_REQUEST[`nombre`]); fputs($ar," "); ?> Para el salto de línea en el archivo de texto, usamos los caracteres . De esta forma cuando leamos el archivo de texto lo haremos línea a línea. Cuando dejamos de trabajar con el archivo llamamos a la función fclose. Hay que tener muy presente que el archivo se almacena en el servidor y no en la máguina de la persona que está navegando. Luego veremos como leer el contenido del archivo y mostrarlo en otra página del sitio. Confeccionar un programa en PHP que permita hacer el pedido de pizzas via internet. El formulario debe ser: Nombre:[..............] Direccion:[...................] Jamon y queso:[x] Cantidad[...] Napolitana:[x] Cantidad[...] Muzzarella;[x] Cantidad[...] [Confirmar] Para el ingreso del nombre, dirección y cantidad de pizzas de cada tipo disponer objetos de la clase "text". Disponer tres objetos de tipo "check" para seleccionar los tipos de pizzas. Por último disponer un botón para el envío de datos: "submit". Grabar en un archivo de texto cada pedido, separados por una línea de puntos (obligatoriamente dar el nombre del archivo de texto como "datos.txt", esto es para que no se llene mi disco duro de archivos, es decir de ahora en adelante siempre que se cree un archivo de texto debe llamarse datos.txt)