Aprendo il file in modalità "append" (a) è ovvio che avrai i messaggi nuovi alla fine del file. E non puoi far altro, perchè oltre ad append hai solo la modalità "w", che sovrascrive il file.
Se ti accontenti ordinarli da più nuovo al più vecchio devi
1- Salvati i dati vecchi
2- Salvare il messaggio nuovo e poi i dati vecchi.
Se usi la file_get_contents/file_put_contents è più semplice:
Codice PHP:
index
<?php
$file = "guestbook.txt";
...
echo file_get_contents($file);
?>
Salvataggio:
Codice PHP:
<?php
$file = "guestbook.txt";
$name = ...
....
$data = file_get_contents($file);
$nuovo = '<font size="3"><BR><b>'.$name.'</b><BR>'.$msg.'<BR>';
file_put_contents($file, $nuovo.$data);
...
Se invece vuoi più flessibilità un semplice file di testo non basta più. O ti strutturi meglio il file e ci "giochi" lato php o usi ad esempio xml o ti appoggi ad un db vero e proprio