Escritura de ficheros en php
En este ejemplo se puede ver como un formulario en html es el encargado de recoger una serie de campos de para enviarselor a un script de php.
Se establece una constante mendiante “define” esa constantes se llama NOMBRE_FICHERO, mediante fopen abrimos el fichero para añadidura. Se crea un manejador de fichero $fichero. Para escribir un fputs(manejador,variable o cadena de texto ) escribimos en el el fichero el valor del campo del formulario.
Si queremos mostrar en un html los datos que acabamos de grabar y los ya existentes, se llama a la función leer_campo($fichero) para leer los campos del fichero grabados y mosrtrarlos por pantalla
Tenemos
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | <style type="text/css">
th {
font-size:12px;
}
td.azul { font-size:14px;
color:blue;
text-align:left; }
body { background-color:#E3C993; }
p { text-align:center; }
</style>
</head>
<body>
<p>
INFORMACIÓN DE LOS ARTÍCULOS ALMACENADOS
</p>
<table border="2" cellpadding="2" align="center">
<tr>
<th>Código</th>
<th>Descripción</th>
<th>Precio de coste</th>
<th>Precio de venta</th>
<th>Stock actual</th>
<th>Stock mínimo</th>
</tr>
<?php
function leer_campo($fichero)
{
if (!feof($fichero))
{
$buffer = fgets($fichero, 4096);
// Elimina el carácter de salto de línea chop
$buffer = chop($buffer);
// Si la línea se ha quedado vacía
// no va a salir
}
else $buffer="";
return $buffer;
}
// Se abre el fichero para guardar los datos al final
define('NOMBRE_FICHERO', 'pedidos.dat');
$fichero = fopen(NOMBRE_FICHERO, 'a');
// Se escribe en el fichero una línea por cada campo
fputs($fichero, "$codigo\n");
fputs($fichero, "$descripcion\n");
fputs($fichero, "$coste\n");
fputs($fichero, "$venta\n");
fputs($fichero, "$stock\n");
fputs($fichero, "$minimo\n");
// Se cierra el fichero para que los datos queden guardados
fclose($fichero);
// Se abre el fichero para leer los datos de los productos
$fichero = fopen(NOMBRE_FICHERO, 'r');
// Se recorre el fichero para mostrar el nuevo contenido
while (!feof($fichero))
{
echo "<tr>";
// Se leen los seis campos
for ($i = 0; $i < 6; $i++)
{
$cadena=leer_campo($fichero);
if ($cadena!="")
{
echo "<td class='azul'>";
echo $cadena, "</td>";
}
}
echo "</tr>";
}
// Se cierra el fichero
fclose($fichero);
?>
</table> |
