Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Tiedostoon kirjoitus ongelma

llr [09.03.2004 20:42:25]

#

<?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 :/

Juhis [09.03.2004 20:45:31]

#

r+ -> a+ esim?

ZcMander [09.03.2004 20:45:38]

#

$file = fopen("./tiedostot/uutiset.txt", "r+");

tuon kun muutat

$file = fopen("./tiedostot/uutiset.txt", "a");

llr [09.03.2004 21:55:54]

#

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.

leftover [09.03.2004 21:59:09]

#

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ä?

tsuriga [09.03.2004 22:41:53]

#

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.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta