Nettisivullani luen txt-tiedostoa. Nyt täytyisi saada tekstitiedostoon rivinvaihto.
Tekstitiedosto katkeaa nimittäin heti kun rivinvaihto taikka tyhjärivi tulee niin sivuilla ei näy kuin tiedoston alkuosa. Osaisiko joku auttaa rivinvaihdon tekoon.
<?php $tiedosto=fopen("esittely.txt","r"); rewind($tiedosto); $sisalto=(fgets($tiedosto)); print $sisalto; ?>
Sain muilta foorumeilta jo apua linkkien muodossa, mutta en kuitenkaan osannut tehdä rivinvaihtoa toimintaan.
Kiitokset etukäteen!
Mod. lisäsi kooditagit
Funktio fgets lukee vain yhden rivin tiedostosta. Funktiolla file_get_contents voit hakea suoraan koko tiedoston sisällön:
<?php $sisalto = file_get_contents('tiedosto.txt');
Joo nyt saan koko tiedoston lukemaan. Pystynkös minä jotenkin määrittämään vielä sen, että teksti näyttäisi samanlaiselta nettisivuilla kuin tekstitiedostossa. Siis olisi kappale jaot yms. näkyvissä.
Esim.
tekstiä...............
..........................
tekstiä.........
Laita se vaikka näin:
<?php echo "<pre>" . file_get_contents("sivu.txt") . "</pre>"; ?>
HTML sallii vain yhden välilyönnin peräkkäin, ja rivinvaihto vaatii br-tagin. Pre-tagi kelpuuttaa tekstin sellaisenaan sivulle.
Kiitoksia taasen kerran. Vielä semmoista kyselen onko mahdollista ja kuinka saada tietty määrä sanoja rivilleen php-koodilla.
Siis että koodissa laskettaisiin sanojen määrä ja jaettaisiin riveihin tietyn sana määrän jälkeen?
artz86 kirjoitti:
Siis että koodissa laskettaisiin sanojen määrä ja jaettaisiin riveihin tietyn sana määrän jälkeen?
Esim. wordwrap
-funktiolla onnistuu:
Mun käsittääkseni tuo wordwrap kylläkin laskee tietyn merkkimäärän, ei tiettyä sanamäärää, jota artz86 kysyi.
<?php $sanojenmaara = 20; $tiedosto = file_get_contents("teksti.txt"); $sanat = explode(" ", $tiedosto); for($i = 0; $i < $sanojenmaara; $i++) { echo $sanat[$i] . " "; } ?>
Esimerkiksi näin. Tuo näyttää koko tiedostosta 20 ensimmäistä sanaa.
<?php $file = fopen("teksti.txt", "r") or exit("Ei pysty avaamaan tiedostoa!"); while(!feof($file)) { echo fgets($file). "<br />"; } fclose($file); ?>
Tommosella koodilla sain koko tekstin näkymään ja kappaleenvaihdot kohdilleen.
Aihe on jo aika vanha, joten et voi enää vastata siihen.