PHP: imprescindible para crear páginas web de modo profesional
Y ahora tambien aprende a programar en C++ con Aprende Web C++
y entérate de las novedades o deja un comentario.
última modificación: 13-07-2018.
Visitas este mes: 74
Visitas el mes pasado: 113
Mi agradecimiento a los siguientes sitios en los que me he basado para la elaboración de este manual.:
Si este sitio te parece interesante puedes contribuir con una pequeña aportación.
Hemos visto hasta ahora las cookies y sesiones como forma de guardar o traspasar datos, sin embargo éstos no se guardan de forma permanente, La forma más segura de guardar los datos sin que ésos se pierdan es crear un archivo donde guardarlos.
Aprenderemos aquí a crear archivos que guarden los datos recibidos por el usuario. El archivo lo creamos también mediante código php, por lo que una vez escrito el código apropiado, el mismo código crea el archivo automáticamente cuando lo necesitemos. Después, en estos archivos guardaremos los datos.
Para crear un archivo utilizaremos el método fopen(). Este método utiliza varias funciones, Empezamos escribiendo la función fopen(), la cual abre un archivo, si el archivo no existe lo crea. Una vez abierto el archivo hay otras funciones para modificarlo, y una vez modificado, se cierra mediante la función fclose() :
$miarchivo=fopen("ruta_fichero","modo");
......
fclose($miarchivo);
$miarchivo=fopen(ruta_fichero, modo): abre el fichero especificado en la ruta. si éste no existe lo crea, y el "modo" indica la forma de abrir el fichero, lo cual explicaremos seguidamente. Debemos guardar esta instrucción en una variable para poder manejar más tarde el archivo. a esta variable ($miarchivo) la llamaremos manejador de archivo o manejador.
fclose($miarchivo) cierra el fichero indicado en el manejador.
Entre medio de estas dos sentencias pondremos el código que hace que escribamos, leamos o tengamos información en el archivo indicado, esto lo veremos a continuación.
Hay varios modos de abrir un archivo. Para ello donde pone "modo" en la instrucción $miarchivo=fopen("ruta_fichero","modo");, deberemos escribir:
Cada una de estos modos tiene sus propias funciones o sentencias para poder trabajar con ellas.
Después de lo visto hasta ahora vamos a pasar a la práctica: Crearemos un archivo que contenga algunos datos que le pasemos desde un formulario. El formulario será el siguiente:
<form action="procesar.php" method="post"> <p>Nombre: <input type="text" name="nombre" /></p> <p>Telefono: <input type="text" name="tel"/></p> <p>Email: <input type="text" name="email" /></p> <p>Clave: <input type="text" name="clave" /></p> <p><input type="submit" value="enviar" /></p> </form>
Este formulario lo podemos guardar en un archivo tipo html, ya que es un formulario normal para recoger los datos.
El campo "Clave". será el nombre que le daremos al archivo en el que guardaremos los datos, daremos simplemente el nombre del archivo (sin la extensión).
El formulario nos envía a la página "procesar.php". Debemos crear esa página que debe contener el siguiente código php:
<?php $nombre=$_POST['nombre']; $tel=$_POST['tel']; $email=$_POST['email']; $clave=$_POST['clave']; $miarchivo=fopen($clave.'.txt','w');//abrir archivo, nombre archivo, modo apertura fwrite($miarchivo, // escribir "Nombre: ".$nombre." Teléfono: ".$tel." E-mail: ".$email." Clave: ".$clave); echo "Tu archivo se ha guardado con el nombre \"$clave.txt\""; fclose($miarchivo); //cerrar archivo ?>
Explicaremos ahora el código anterior, Una vez recogidos los datos mediante el array $_POST, procedemos a guardarlos:
Para comprobar que el archivo se ha creado abriremos el formulario en el navegador, lo rellenaremos y después, desde el explorador de windows iremos al directorio en el que debe estar, que es el mismo en el que hemos puesto el formulario y el archivo "procesar.php".
Comprobamos que el nombre del archivo es el que hemos introducido en el campo "clave" del formulario, y que su extensión es txt.
Nosotros en la instrucción fopen() le hemos dado al formulario la extension .txt (archivo de texto), pero podemos darle cualquier otra extensión (.html, .css, .php, ...), según el uso que vayamos a hacer posteriormente del archivo.
Para ver o leer un archivo guardado, lo haremos del siguiente modo. Siguiendo con el ejemplo anterior, y suponiendo que ya hemos guardado algunos archivos, lo primero será preguntar al usuario el nombre del archivo que quiere abrir mediante un formulario:
<form action="verarchivo.php" method="post"> <p>Dime tu clave: <input type="text" name="miclave" /></p> <p><input type="submit" value="ver fichero" /> </form>
El formulario nos envía a la página "verarchivo.php", debemos crear esa página, en la cual incluiremos el siguiente código php:
<?php $miclave=$_POST['miclave']; file_exists($miclave.'.txt') //comprobar or die ("Error: no existe el archivo corespondiente a esta clave"); $miarchivo=fopen($miclave.'.txt','r'); //abrir archivo $ver = fgets($miarchivo); //leer archivo fclose($miarchivo); //cerrar archivo echo $ver; ?>
Explicamos a continuación el código anterior, después de recoger los datos mediante $_POST.
Podemos también abrir y cerrar archivos con popen() ... pclose(), de forma identica al metodo fopen(). La diferencia es que con popen() sólo se pueden abrir los archivos en los tres primeros modos ("a","w","r").
$miarchivo=popen(ruta_archivo,modo); ... pclose($miarchivo);
Para borrar un archivo emplearemos la función unlink(ruta_fichero). Esta función no requiere que el fichero esté abierto, por lo que en el ejemplo anterior actuaremos de la siguiente manera:
En primer lugar preguntamos al usuario mediante un formulario cual es el fichero que quiere borrar:
<form action="borrarfichero.php" method="post"> <p>Dime tu clave: <input type="text" name="miclave" /></p> <p><input type="submit" value="borrar fichero" /> </form>
Creamos la página "borrararchivo.php", a la cual nos envía el formulario, en la cual debemos poner el siguiente código:
<?php $miclave=$_POST['miclave']; file_exists($miclave.'.txt')or die ("no existe el archivo indicado"); unlink($miclave.'.txt'); echo "tu archivo ha sido borrado."; ?>
La instrucción unlink(ruta_fichero), es la que borrará el fichero de la carpeta en la que está. Para comprobar que el fichero se ha borrado podemos abrir la carpeta en la que estaba, y comprobar que ya no está.
En la siguiente página veremos más funciones para archivos, cómo aplicarlas y para qué sirven.
Sugerencias:
aprendeweb@aprende-web.net. Envia un
Visita nuestro blog par saber en qué estamos trabajando: Aprende Web Blog
Más sobre anyelguti en http://anyelguti.16mb.com