Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Tiedostosta luku ja kohdistimen siirtäminen

kattis [28.08.2003 05:34:02]

#

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.

odys [28.08.2003 13:48:19]

#

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

pistemies [29.08.2003 10:50:28]

#

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

kattis [30.08.2003 14:34:29]

#

Kiitokset odys:lle ja Pekka Mansikalle vastauksista.
Tarkennan vielä tuota, elikkä miten saan yksi kerrallaan luettua tuota taulukkoa tai tiedostoa taaksepäin ?

odys [30.08.2003 14:44:48]

#

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.

Vastaus

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

Tietoa sivustosta