Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/12/2009, 03:22
matak
 
Fecha de Ingreso: julio-2008
Ubicación: Alcañiz-Teruel-España
Mensajes: 182
Antigüedad: 15 años, 10 meses
Puntos: 5
escribir en un fichero como si fuera una pila

Buenas amigos.

Me gustaría saber si es posible abrir un descriptor de fichero con fopen y escribir en el pero añadiendo lo que escribes en el principio del fichero.

Estoy haciendo un log y me interesa que el suceso mas reciente me lo muestre en el inicio.

Hasta ahora sólo lo he conseguido de la siguiente forma

Código PHP:
Ver original
  1. if (file_exists('prueba.log'))
  2.   $FILE = file_get_contents('prueba.log');
  3. else
  4.   $FILE = "";
  5.  
  6. for ($i = 0; $i <= 10; $i++)
  7. {
  8.     $FILE = "FECHA: ".date('d/m/Y')." $i ".chr(13).chr(10) . $FILE;
  9. }
  10.  
  11. file_put_contents('prueba.log',$FILE);
  12.  
  13. ///OUTPUT FILE prueba.log
  14.  
  15. //FECHA: XX/XX/20XX 10
  16. //FECHA: XX/XX/20XX 9
  17. //FECHA: XX/XX/20XX 8
  18. //FECHA: XX/XX/20XX 7
  19. //FECHA: XX/XX/20XX 6
  20. //FECHA: XX/XX/20XX 5
  21. //FECHA: XX/XX/20XX 4
  22. //FECHA: XX/XX/20XX 3
  23. //FECHA: XX/XX/20XX 2
  24. //FECHA: XX/XX/20XX 1
  25. //FECHA: XX/XX/20XX 0

Este es el resultado que deseo conseguir pero de esta forma es muy ineficiente ya que te cargas todo el contenido del fichero en una variable. Si suponemos que este fichero puede contener 2.000.000 líneas la cosa será un poco lenta,no??

Probé con fopen, fseek y fwrite pero no encontré lo que buscaba...

Espero me puedan ayudar,...

Saludos y gracias de antemano
__________________
Si quieres puedes y si puedes debes. Imposible is nothing!!!