Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Käänteinen Append

Sivun loppuun

DKH [01.08.2003 10:27:26]

#

Eli mitenkäs saisi lisättyä tiedoston alkuun jonkun rivin?

trinit [01.08.2003 11:06:13]

#

Tapa 1:

- luet tiedoston file():llä taulukkoon
- avaat kyseisen tiedoston fopen():lla "w" muotoon
- kirjoitat fwrite:lla sen rivin tiedostoon, joka pitää olla alussa
- kirjoitat fwrite:lla taulukon tiedot tiedostoon

Tapa 2:

- luet tiedoston file():llä taulukkoon
- avaa fopen():lla jokin väliaikainen tiedosto "w" muotoon
- kirjoitat fwrite:lla sen rivin tiedostoon, joka pitää olla alussa
- kirjoitat fwrite:lla taulukon tiedot tiedostoon
- poista alkuperäinen tiedosto unlink():llä
- muuta väliaikeisen tiedoston nimi rename():lla alkuperäisen tiedoston nimiseksi

odys [01.08.2003 13:51:13]

#

Pöh..

Tapa paras:

Kirjota rivi tiedoston loppuun ihan normaalisiti ja tiedostoa luettaessa teet näin:

$data = file("tiedosto.txt");
$data = array_reverse($data); // Nyt uusin rivi on ekana taulukossa.

T.M. [01.08.2003 14:14:18]

#

pöh... riippuu lukeeko tiedoston for:lla vai foreachilla tai ehkä whilellä...
jos for:lla niin paras tapa:

$filu = file("tiedosto.txt");
$max = count($filu)-1;
for($u = $max; $u >= 0; $u--){
...
}

turhaan sitä alkaa array_reverseä käyttämään...

trinit [01.08.2003 17:10:59]

#

pöh...PHP:n 4.3.0 versiosta lähtien koko tiedoston voi lukea muistiin file_get_contents:lla.

<?php
    $data = file_get_contents("tiedosto.txt");
    $data .= "Uusi tieto";
    $ff = fopen("tiedosto.txt", "w"); fwrite($ff, $data); fclose($ff);
?>

mitään array_reverseä/for/foreach ruveta käyttämään... ;)

T.M. [01.08.2003 17:33:18]

#

niih.. mutta tarkoitin tiedoston lukemista :D
eihän siinä ole mitään järkeä tallentaa tiedoston alkuun mitään, kun loppuunkin voi tallentaa helpommin.

odys [01.08.2003 19:33:07]

#

Blaa blaa.. tapoja on tuhansia :P
Eikä se nopeus pikkutiedostojen kanssa tunnu.. ehkä sitten kun käsitellään jo muutaman sadan kilotavun kokoisia tiedostoja? :P

DKH [01.08.2003 20:48:58]

#

odyksen ja trinitin tavat vaikutti aika hyvälle.

trinit [03.08.2003 10:41:17]

#

lainaus:

niih.. mutta tarkoitin tiedoston lukemista :D

joo ymmärsin, huomaa hymiö edellisen viestini lopussa :) ja pöh(tm) ;)


Sivun alkuun

Vastaus

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

Tietoa sivustosta