Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Rivien määrä txt-tiedostossa

OskariB [13.11.2007 18:49:54]

#

Kuinkakohan saisin laskettua PHP:llä tekstitietokantojen rivien määrän, ja sitten tulostettua tuo kyseinen tieto ymmärrettävään muotoon?

Selaimen pitäisi esittää asia seuraavanlaisesti:
Sanomalehdet (2)
Sarjakuvat (1)
Aikakausilehdet (0)

Tekstitietokantaan tiedot ovat tallennettu muotoon:

sanomalehdet/teksti.txt

001|Helsingin Sanomat|3€
002|Aamulehti|2,5€

sarjakuvat/teksti.txt

001|Aku Ankka|2€

aikakausilehdet/teksti.txt

tsuriga [13.11.2007 18:59:16]

#

loop ( tietokannat )
  echo ucfirst ( dirname( tietokanta ) )
    + ( count( file ( tietokanta ) ) );
endloop;

punppis [17.11.2007 21:19:22]

#

<?php
  $tiedosto = file("tiedosto.txt");
  $rivien_maara = count($tiedosto);
?>

Tuon avulla pitäisi onnistua, en kyllä tuota tsuriqan tekstistä tajunnut itse mitään =D

OskariB [17.11.2007 21:34:55]

#

<?php
$sanomalehdet = file("sanomalehdet/teksti.txt");
$kappalemaara = count($sanomalehdet);
echo $kappalemaara;
?>

Osaakos joku etevämpi sanoa, onko yllä olevassa toteutuksessa joitakin sudenkuoppia?

EDIT. punppis kerkesi tavallaan vastaamaan kysymykseeni.

Antti Laaksonen [17.11.2007 22:05:06]

#

Koodi on siksi yksinkertainen, että siihen tuskin mahtuu kovin yllättäviä sudenkuoppia. Tietysti jos tiedostoa ei ole olemassa, koodi ei myöskään toimi, mutta tämän varmasti huomasit itsekin.

tsuriga [17.11.2007 23:24:10]

#

Esitin semipseudon, jolla saadaan aikaan toivottu tuloste. Osa sanoista on ihan oikeita PHP avainsanoja (manuaali ftw), osa tulee korvata oikeilla avainsanoilla. Ajattelin seuraavasti: loop = foreach, tietokannat = taulukko tekstitietokannoista - loput ovatkin oikeita avainsanoja.

LaNu [18.11.2007 18:36:27]

#

tsuriga kirjoitti:

Esitin semipseudon, jolla saadaan aikaan toivottu tuloste. Osa sanoista on ihan oikeita PHP avainsanoja (manuaali ftw), osa tulee korvata oikeilla avainsanoilla. Ajattelin seuraavasti: loop = foreach, tietokannat = taulukko tekstitietokannoista - loput ovatkin oikeita avainsanoja.

Liekköhän ensimmäinen viesti aukeni kovinkaan monelle ilman tarkennusta. Jäin ihmettelemään, että onko php:ssä muka joku loop-rakenne. Ilman viestiäsi olisin mennyt seuraavaksi katsomaan manuaalista.

Tosin olisihan se siitäkin pitänyt huomata, että +operaattori ei php:ssä toimi noin ;-) Kiva virhelähde, jota joskus metsästin ihan pienen tovin vain. Tosin silloin oli string + string, joka tulosti tyhjää.

<?php
$t =  1 + 'test'; // tai toisessa järjestyksessä
echo $t; // tulostaa pelkän ykkösen joka tapauksessa
?>

Vastaus

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

Tietoa sivustosta