Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Linkin lisäys PHP:llä

Sivun loppuun

ppn [25.09.2003 22:02:19]

#

Eli olen tehnyt PHP:llä yksinkeraisen linkin lisäys skriptin, mutta ongelma on siinä, että kun skripti kirjoittaa tiedot luonnollisesti tiedoston loppuun. Tiedot ovat tiedostossa näin:

<b>Sivun nimi</b>: <a href="http://osoite">Nimi</a><br><b>Kuvaus:</b> Tekstiä...<br><br>

Saako tätä muutettua niin, että tuo kirjoitetaan aina tiedoston alkuun??

T.M. [25.09.2003 22:12:15]

#

ensinnäkin, sun pitää tallentaa tiedot esim:
sivun_nimi|osoite|kuvaus|tekstiä..|
sivun_nimi|osoite|kuvaus|tekstiä..|
sivun_nimi|osoite|kuvaus|tekstiä..|
...

ja sitten käytät explode() funktiota tietojen erittelyyn, ja tulostat ne...

eikä ole väliä vaikka kirjoittaisit tiedoston loppuun, sillä voit lukea tiedot nurinpäin käyttämällä for-silmukkaa


eli siis, älä koskaan yritä kirjoittaa tiedoston alkuun, koska se on yhtäkuin turhaa.
toisekseen, älä koskaan talleta tiedostoon HTML:ää, tai muita muotoiluja, vaan erittele tiedot tavalla tai toisella, ja purat ne oikeaan paikkaan.

leftover [25.09.2003 22:20:16]

#

array_reverse paukuttaa pari millisekuntia for-silmukkaa nopeammin (1000 tietueella) :-)

ppn [25.09.2003 22:28:21]

#

Tässä ollaan vielä sen verran alkeissa, etten näitä kaikkia pilkkomisia sun muita ymmärrä, mutta eikun kirja eteen ja lukemaan!

T.M. [25.09.2003 23:53:53]

#

kirja? ei ei ei... EI!
Tässä muutamia osoitteita joilla pääsee alkuun:

https://www.php.net/manual/en/function.explode.php
https://www.php.net/manual/en/function.array-reverse.php
https://www.php.net/manual/en/function.fopen.php
https://www.php.net/manual/en/function.round.php

noiden sivujen vasemman valikon linkit kun käyt läpi niin eiköhän niillä tiedoilla jo jotain saa aikaseks...

Pekka Kauppila [25.09.2003 23:58:02]

#

Jos tosiaankin haluat vain lisätä linkkejä, niin ei ole vältäämättä ei kannata muuttaa tuota tietojen tallentamis muotoa mitenkään. Onhan sen tiedoston tulostaminen huomattavasti nopeampaa kun se on jo valmiiksi halutussa muodossa. Tässähän vain on sitten se ongelma, että jälkeenpäin muokkailu on hieman vaikeampaa jne. Tosiaankin myös se linkkien poistaminen ja kaikki muu ei käykkään sitten välttämättä ihan niin käden käänteessä, mutta kyllä sekin onnistuu.

ppn [26.09.2003 15:24:49]

#

Noniin, olen koittanut jotakin väsätä, mutta tässäkin tulostuu koko tiedoston sisältö. Nyt tiedot ovat tiedostossa muotoon: linnki1|linkki2|jne.

<?php
$filukka = "tiedot.txt";
$filu2 = fopen("$filukka", "r");
$tiedoston_tiedot = readfile($filukka);
$rivit = explode("|", $tiedoston_tiedot);

echo $rivit[1];
fclose($filu2);
?>

T.M. [26.09.2003 18:47:33]

#

lainaus:

array_reverse paukuttaa pari millisekuntia for-silmukkaa nopeammin (1000 tietueella) :-)

mutta entäs vielä tämän tulostus? eikös siihenkin mene aikaa myös? ;-)

T.M. [26.09.2003 18:50:20]

#

lainaus:

Noniin, olen koittanut jotakin väsätä, mutta tässäkin tulostuu koko tiedoston sisältö. Nyt tiedot ovat tiedostossa muotoon: linnki1|linkki2|jne.

<?php
$filukka = "tiedot.txt";
$filu2 = fopen("$filukka", "r");
$tiedoston_tiedot = readfile($filukka);
$rivit = explode("|", $tiedoston_tiedot);

echo $rivit[1];
fclose($filu2);
?>

kokeileppas file() funktiota, se siis palauttaa tiedoston taulukkoon riveittäin.

esim:

<?php
$filu = file("seppo.txt");
$max = count($filu)-1;

for($u = 0; $u <= $max; $u++){
    $osa = explode("|", $filu[$u]);
    print"$osa[0] $osa[1] ... <br>";
}
?>

Tuo siis tulostaa koko tiedoston sisällön pilkkomalla tiedon explode() funktiolla.


Sivun alkuun

Vastaus

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

Tietoa sivustosta