Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP ja txt-tiedoston käsittely

Sivun loppuun

artz86 [24.10.2009 15:14:45]

#

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

Metabolix [24.10.2009 15:30:54]

#

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');

artz86 [24.10.2009 19:44:01]

#

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ä.........

Macro [24.10.2009 19:53:53]

#

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.

artz86 [24.10.2009 20:15:25]

#

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?

trilog [24.10.2009 20:31:19]

#

artz86 kirjoitti:

Siis että koodissa laskettaisiin sanojen määrä ja jaettaisiin riveihin tietyn sana määrän jälkeen?

Esim. wordwrap-funktiolla onnistuu:

https://www.php.net/manual/en/function.wordwrap.php

Grez [24.10.2009 21:39:31]

#

Mun käsittääkseni tuo wordwrap kylläkin laskee tietyn merkkimäärän, ei tiettyä sanamäärää, jota artz86 kysyi.

Macro [24.10.2009 23:25:23]

#

<?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.

artz86 [25.10.2009 14:04:45]

#

<?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.


Sivun alkuun

Vastaus

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

Tietoa sivustosta