Pues, tengo un pequeño problema para escribir un archivo con datos en PHP, pero agregando datos, no reemplazando.
Lo estoy usando para un chat, y en el chat los mensajes se escriben en un archivo TXT para luego imprimirlos en pantalla. Resulta que el script funciona muy bien, pero agrega los datos hasta abajo del archivo. Esto hace que los mensajes del chat se pongan hasta abajo, y cuando aparece el scroll pues se tiene que bajar el scroll de forma manual, y es esteticamente malo.
Alguien puede ayudarme a una solucion? Cualquiera de estas 3 soluciones me ayudaria:
1.- Hacer que en automatico se vayan agregando las nuevas firmas al principio.
2.- Hacer que el scroll baje automaticamente al ultimo comentario.
3.- Hacer que aparezcan los ultimos 10 comentarios y los demas se vayan borrando.
El codigo que tengo es este y funciona muy bien, repito, graba las firmas pero abajo, como es la funcion de "a", pero se supone que "r" graba los datos al principio, pero ya intente modificando "a" por "r" y no graba nada, tampoco funcionó con "r+"
.
Código PHP:
<?php
session_start();
$comen = 'chat/'.date('m-d-Y').'-sc.txt';
$message = htmlentities($_POST['message'], ENT_QUOTES, 'UTF-8');
if($_POST['message'] != '')
{
$scfh = fopen($comen, "a");
fwrite($scfh,'<p><span>'.$_SESSION['username'].'</span> '.$message.'</p>'."\n");
fclose($scfh);
}
$sc_file = file('chat/'.date('m-d-Y').'-sc.txt');
$sl = 0;
foreach($sc_file as $line)
{
if($sl >= $_SESSION['number_lines'])
{
echo $line;
}
$sl++;
}
?>
... Gracias por su ayuda!
.