en un archivo tengo guardada informacion de la siguiente forma...
Código:
el archivo lo leo cada X tiempo para ir almacenando un dato en el ultimo lugar de la primera linea (en el ejemplo: despues del 5) y eliminar el primer registro para siempre mantener la misma cantidad (en este caso 5 registros).1:2:3:4:5 a:b:c x:y:z
para hacer eso realizo lo siguiente:
- leo el archivo con file() para crear un array con las lineas de contenido,
- transformo la primera linea en un array separandola por ':' con explode()
- recorro dicho array con un bucle FOR desde el segundo registro hasta el final (para eliminar el primer registro)
- en cada vuelta del bucle le agrego nuevamente ':' para crear el nuevo array
- terminado el bucle, al contenido le agrego el nuevo valor que ocupara el ultimo registro (por ejemplo: 8, entonces quedara asi: 2:3:4:5:8
- luego abro nuevamente el archivo en modo escritura ( fopen(archivo, w) )
- guardo los nuevos datos.
el problema es que solo me guarda el contenido del array que he estado modificando, osea la primera linea 2:3:4:5:8 pero la segunda linea y la tercera no se como poder agregarla al contenido.
aqui muestro el código que estoy usando:
Código PHP:
<?php
// Leo los datos del archivo y lo almacenamos en un array
$linea=file('archivo.txt');
// creo un array con el contenido de la primera linea separandolo por ':'
$datos=explode(':',$linea[0]);
// recorro el array desde el segundo elemento (no necesito el primero)
for( $i = 1; $i < count($datos); $i++)
{
//en cada vuelta vuelvo a cargar los datos (agregue el trim() por que sin el tenia un comportamiento extraño)
//agrego despues de cada elemento ':'
$nuevosDatos.=trim($datos[$i]).':';
}
// al resultado le agrego el nuevo dato que deseo incluir al final
$NuevosDatos.='8';
// abro el archivo en modo escritura y guardo los datos
$fch=fopen($file_dbg, "w");
fwrite($fch, $nuevosDatos);
fclose($fch);
?>
Código:
atento a sus sugerencias.2:3:4:5:8 a:b:c x:y:z
gracias.