<?php
$uutinen = $_POST["uutinen"];
$lisaaja = "-" . $_POST["kirjoittaja"];
$aika = date(" j.n.y - h:i:s");
$laitto = "
<table border=\"0\" width=\"350px\" cellspacing=\"0\" cellpadding=\"0\">
<tr>
<td class=\"uutinenaika\">
$aika
</td>
<td class=\"uutinenlisaaja\">
$lisaaja
</td>
</tr>
</table>
<table border=\"0\" width=\"350px\" cellspacing=\"0\" cellpadding=\"0\">
<tr>
<td class=\"uutinen\">
$uutinen
</td>
</tr>
</table>";
$file = fopen("./tiedostot/uutiset.txt", "r+");
fwrite($file, $laitto);
fclose($file);
echo "Uutinen lisätty onnistuneesti!";
?>Elikkä kuinka tehdä tämä oikein? :) Tällä tavalla tyhjentää aina tekstitiedoston vaikkei pitäisi :/
r+ -> a+ esim?
$file = fopen("./tiedostot/uutiset.txt", "r+");
tuon kun muutat
$file = fopen("./tiedostot/uutiset.txt", "a");
Muuten hyvä, mutta uusi teksti pitäisi saada ylimmäiseksi. " 'r+' Open for reading and writing; place the file pointer at the beginning of the file. " Mutta tyhjentää myös tiedoston :/
EDIT:
Ei näköjään tyhjennä, mutta sotkee HTML:än täysin.
Miksi et lue vanhaa dataa muuttujaan file_get_contents -funktiolla ja kirjoita aluksi uutta dataa ja lopuksi vanhaa perään? Tiedän, kun tiedostossa on ziljoona riviä, homma on hidasta mutta tuleeko sinne niin montaa riviä?
r=read!=write.
a=append. Eli lisää sinne perään. Ja sitten käytät array_reverseä (löytyy www.php.net) siellä missä printtaat uutisia ulos tiedostosta.
Aihe on jo aika vanha, joten et voi enää vastata siihen.