Foros del Web » Programando para Internet » PHP »

Modificación Libro visitas sin base datos

Estas en el tema de Modificación Libro visitas sin base datos en el foro de PHP en Foros del Web. Tengo un libro de visitas en php que funciona con un archivo txt, por lo tanto no usa base de datos. He sacado el código ...
  #1 (permalink)  
Antiguo 20/05/2008, 15:01
 
Fecha de Ingreso: mayo-2008
Mensajes: 1
Antigüedad: 16 años
Puntos: 0
Modificación Libro visitas sin base datos

Tengo un libro de visitas en php que funciona con un archivo txt, por lo tanto no usa base de datos.
He sacado el código de un libro y me funciona perfectamente, pero le quiero hacer una modificación.
Me gustaria poder numerar los mensajes con el propósito de poder limitar las entradas. Me explico tal como está el código, no tiene límite de mensajes posibles y quisiera poder limitarlos.
Un usuario malintencionado puede escribir automaticamente mensajes hasta el infinito y el fichero de texto volverse inmenso.
Otra pregunta, seria posible hacer que al llegar a un número determinado de entradas, el fichero se quedara a cero, osea se borrara todo utomaticamente y volviera a empezar a partir del mensaje número 1.

El código es:

<?php

// Guardar fichero en una variable
$fichier="miarchivo.txt";

// Las variable estan definidas o vacias ?
if (isset($comentario) && $nom != "" ) {

// Se abre el fichero en lectura-escritura
$pointeur=fopen($fichier,"r+");

// Se leen los antiguos datos y se guardan en $anciennes
$anciennes=fread($pointeur,filesize($fichier));

// Se configura la fecha
$date=date("j.n.Y");

// Se protegen las variables contra codigos maliciosos
$comentario=htmlspecialchars($comentario);
$comentario=stripslashes(nl2br($comentario));
$nom=htmlspecialchars($nom);
$nom=stripslashes(nl2br($nom));

// Montage del aviso
$avis="<p><b>$nom</b> Escrito el
<i>$date</i>:<br>$comentario</p>\n";

// Se lleva el cursor al principio del fichero
rewind($pointeur);

// Se escribe el nuevo aviso delante de los antiguos
fputs($pointeur,"$avis \n $anciennes");

// Se cierra el archivo
fclose($pointeur);
}
// Se muestra el archivo completo
readfile($fichier);
?>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:05.