Aunque, no se suele trabajar con ficheros, sino con bases de datos, comentare y explicare un ejemplo para grabar datos sobre ficheros.
Lo primero será crear un formulario, en este ejemplo, vamos crear un formulario, que va a contener un campo a rellenar:
formulario-usuarios.php
Como vemos es un simple formulario, con un campo llamado usuario, y este formulario lo enviamos a un archivo, que va a ser el que va procesar tal formulario.
<p>Grabar nuevos usuarios:</p> <form id="form1" name="form1" method="post" action="graba-en-fichero.php"> <label>nombre usuairo <input name="usuario" type="text" id="usuario" size="100" maxlength="100" /> </label> <p> <label> <input type="submit" name="Submit" value="Enviar" /> </label> </p> </form>
Veamos cómo se procesa tal formulario, y como se guardan los datos en un fichero.
graba-en-fichero.php
<?php $u = $_POST['usuario']; //Recibimos el dato que hemos enviado en el formulario $u = $u . "\r\n"; //Esto lo hacemos, para que en cuando vayamos insertando los datos, los vayamos insertando con un retorno de carro $file="usuarios.txt"; //el fichero en cuestión donde vamos a guardar los datos. $fd = fopen($file, "a") or die("No se puede abrir el fichero"); //abrimos el fichero/flujo, solo en modo escritura (esto lo hemos indicado con una a) $x=fputs($fd,$u); //Escribimos el fichero fclose($fd); //cerramos el flujo. header("location: formulario-usuarios.php"); //redirigimos la pagina a la de formulario-usuarios.php ?>
Una vez que hemos visto, que los datos han sido insertados, queremos ver, si realmente han sido insertado y leerlos, para ellos hemos creado el siguiente archivo:
lectura-fichero.php
<?php $file="usuarios.txt"; // fichero en cuestión $lineas = file($file); //Digamos que la función file, nos permite guardar el contenido del fichero por linea (al menos en este caso) foreach($lineas as $linea) // recorremos linea por linea, y imprimimos su contenido print "$linea<br/>"; ?>