$tiedosto = fopen('vieraskirja.txt', 'a');
mitäköhän: 'a' tilalle pitäis pistää että teksti alkaa aina ylhäältä
mitäköhän: 'a' tilalle pitäis pistää että teksti alkaa aina ylhäältä
Turvaa tilisi vahvistamalla puhelinnumerosi. Voit silloin palauttaa unohtuneen salasanan tekstiviestillä.
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 7
Vanhimmat
PHP kirjoittaa aina tiedoston loppuun, alkuun saa kikkailemalla, mutta miksi alkuun pitäisi saada?
Helpommalla pääset kun kirjoitat loppuun ja luet lopusta alkuun päin rivejä. Jos haluat näkymään uusimman viestin niin tulostat vikan.
Olet väärässä!!!!
r Avataan tiedosto ainoastaan lukemista varten. Tiedosto-osoitin siirretään tiedoston alkuun.
r Avataan tiedosto lukemista ja kirjoittamista varten. Tiedosto-osoitin siirretään tiedoston alkuun.
w Avataan tiedosto ainoastaan kirjoittamista varten. Tiedosto-osoitin siirretään tiedoston alkuun ja tiedoston pituus katkaistaan nollan mittaiseksi. Aiemmin samalla nimellä olleen tiedoston tiedot häviävät. Jos tiedostoa ei ole olemassa, yritetään luoda se.
w Avataan tiedosto lukemista ja kirjoittamista varten. Tiedosto-osoitin siirretään tiedoston alkuun ja tiedoston pituus katkaistaan nollan mittaiseksi. Aiemmin samalla nimellä olleen tiedoston tiedot häviävät. Jos tiedostoa ei ole olemassa, yritetään luoda se.
a Avataan tiedosto ainoastaan kirjoittamista varten. Tiedosto-osoitin siirretään tiedoston loppuun. Jos tiedostoa ei ole olemassa, yritetään luoda se.
a Avataan tiedosto lukemista ja kirjoittamista varten. Tiedosto-osoitin siirretään tiedoston loppuun. Jos tiedostoa ei ole olemassa, yritetään luoda se.
se poistaa nimimerkin ja päivämäärän. miten sais korjattua?
Kirjoita vain uusin viesti tiedoston loppuun, loppujen lopuksi se kaikkein fiksuin ratkaisu. Seuraavassa esimerkki miten viestit sivulle tulostetaan. Oletetaan että tiedoston rakenne on muotoa:
nimi1|aikaleima1|viesti1
nimi2|aikaleima2|viesti2
nimi3|aikaleima3|viesti3
Luetaan viestit taulukoksi:
$viestit = file("viestit.txt");
Koska viestit ovat tiedostossa vanhin ensin ja uusin viimeisenä, käännetään taulukko ympäri:
$viestit = array_reverse($viestit);
Sitten käydään läpi kaikki kaikki taulukon rivit while-silmukassa:
$rivit = count($viestit) - 1; // taulukon rivien määrä
$i = 0;
while($i
vasta opettelemaan PHP:tä ja on aika vaikeata tajuta missä järjestyksessä noi oikein pitäisi olla. vähän vois joku selventää PLEASE!
Saatoin sanoa liian huonosti, mutta eipä noilla saa lisättyä uutta viestiä tiedoston alkuun, tuo r määre kun korvaa ekan viestin uudella siis ei käy vieraskirja tarkoitukseen.
Kikkailemalla, lue viestit muuttujaan kirjoita uusin viesti alkuun ja sitten perään vanhat viestit.
Kannattaa tutustua http://fi2.php.net/manual/fi/function.file-put-contents.php jolla kirjoittaminen on helpompaa kuin vanhalla tavalla.
*käännetään taulukko ympäri:*
Miksi?
miks et käy taulukkoa läpi lopusta alkuunpäin samaan tulokseen helpommin
[quote]
miks et käy taulukkoa läpi lopusta alkuunpäin samaan tulokseen helpommin
[/quote]
Niin no, käyhän se niinkin. Tuntui vaan tuossa esimerkissä helpommalta kääntää taulukko ympäri...