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??
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.
array_reverse paukuttaa pari millisekuntia for-silmukkaa nopeammin (1000 tietueella) :-)
Tässä ollaan vielä sen verran alkeissa, etten näitä kaikkia pilkkomisia sun muita ymmärrä, mutta eikun kirja eteen ja lukemaan!
kirja? ei ei ei... EI!
Tässä muutamia osoitteita joilla pääsee alkuun:
https://www.php.net/manual/en/function.explode.
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...
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.
Noniin, olen koittanut jotakin väsätä, mutta tässäkin tulostuu koko tiedoston sisältö. Nyt tiedot ovat tiedostossa muotoon: linnki1|linkki2|jne.
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? ;-)
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.
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.
Aihe on jo aika vanha, joten et voi enää vastata siihen.