Hei !
Miten kun luetaan tiedostoa, niin jos haluaisi sitten jossakin vaiheessa, että se lähtisikin lukemaan toisesta kohtaa sitä tiedostoa, niin miten tälläinen onnistuisi. Elikkä jos lukukohta on tiedoston keskellä ja haluaisi, että se aloittaisi luvun muutamaa riviä aikaisemmin, niin miten tälläinen onnistuisi?
Olen tekemässä linkkisivua , joka lukee tiedostoa ja siinä pitäisi sitten "pomppia" välillä taaksekin päin tiedostoa.
Jos mennään vain rivejä niin esim:
<?php $data = File("linkit.txt"); $linkki = $data[3]; // 4. linkki $linkki = $data[1]; // 2. linkki ?>
Jos taas siirretään pointteria merkkejen ohi niin https://www.php.net/fseek
Etsitään ensin rivi, jolla haettu linkki sijaitsee, tallennetaan rivinumero muuttujaan $x.
$i=0; $min=$i+1; if($x >$min) { $s=$x-2; // kaksi riviä taaksepäin } if($x <$min) { $s=0; // aloitetaan tiedoston alusta } for($s;$x<=$tiedosto;$i++) { //tulostetaan
En ole testannut
Kiitokset odys:lle ja Pekka Mansikalle vastauksista.
Tarkennan vielä tuota, elikkä miten saan yksi kerrallaan luettua tuota taulukkoa tai tiedostoa taaksepäin ?
Eli jos haluat lukea tiedostosta takaperin rivin kerrallaan niin:
<?php $data = Array_Reverse(File("Tiedosto.txt")); while (list($key, $val) = each($data)) { echo "$val\n"; // Tulostetaan rivin sisältö. } ?>
Tiedosto tulostuu takaperin.
Aihe on jo aika vanha, joten et voi enää vastata siihen.