He creado una miniclase para crear un fichero log
Código PHP:
class log {
var $fichero;
var $fecha;
function agrega($texto) {
$this->fichero = fopen("historial.log","a");
$this->fecha = date("d-m-Y H:i:s \t");
fwrite($this->fichero, $this->fecha . $texto . PHP_EOL);
fclose($this->fichero);
}
}
$log = new log;
//USO: $log->agrega("Nueva entrada de log");
Hasta ahí bien. el problema es que el log se escribe hacia abajo, y quisiera que las últimas entradas aparecieran arriba no abajo. Lo lógico es que se arreglaría cambiando el parámetro ya que a lo abre con el puntero al final.
El tema es que en PHP.net con los otros parámetros que abren el fichero con el puntero al inicio no me funcionan. Me sobreescriben siempre el texto, no funcionan igual que a.
He probado con r. Otra pega que tiene es que no te crea el fichero sino existe.
He probado con w. Dice que te trunca el fichero, no tengo ni idea de qué significa.
Y he probado también con x sino me equivoco.
No se puede hacer lo que quiero?
La otra solución que veo es meter las líneas actuales en una variable. Añadirlas al log y luego la nueva pero es una chapuza.
¿Alguna ayuda por favor?
Yo entiendo que lo que debería poner es "r+" pero no funciona como se espera.