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);
?>