Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Help...

makeuu [12.07.2004 22:14:17]

#

Sanokaas mikä tässä koodissa on vikana?
serverillä on samassa kansiossa tiedostot.dat ja tiedostot.exe
tiedostot.datin sisältö on "tiedosto.exe|9"

<?php
$tamatied = $_SERVER['PHP_SELF'];
foreach(glob("*.dat") as $file) {
		$file = explode("|", $file);
		echo "<a href=\"".$tamatied."?file=".$file[0]."\">".$file[0]."</a> - ".$file[1]."&nbsp;\n";
}
?>

Tämä tulostaa vain Linkin osoitteeseen tiedosto.dat - ja tyhjää eli tuo

- ".$file[1]."&nbsp;

tulostaa vain - &nbsp;

Tempfile [12.07.2004 22:27:55]

#

Vika löytyy tuosta:

$file = explode("|", $file);

Yrität explodettaa tiedoston nimen, et tiedoston sisältöä. Tässä oikea rivi:

$file = explode("|", file($file));

makeuu [12.07.2004 23:02:03]

#

Nyt se tulostaa jokaisen kohdalla "Array" vaikka niissä onkin ne [1] ja [0]:t :(

tsuriga [12.07.2004 23:05:05]

#

array explode ( string separator, string string [, int limit])
eli sun pitää explodee tiedoston rivit erikseen tai jos niitä on yksi niin implodee filen palauttama array "":llä.

makeuu [12.07.2004 23:23:57]

#

Eli? Onko esimerkkejä?

Niko [12.07.2004 23:31:01]

#

<?php
$tamatied = $_SERVER['PHP_SELF'];
foreach(glob("*.dat") as $file) {
        $rivit = file($file);
        foreach($irvit as $filu){
        $filee = $file = explode("|",$filu);
        echo "<a href=\"".$tamatied."?file=".$filee[0]."\">".$filee[0]."</a> - ".$file[1]."&nbsp;\n";
}
}
?>

Edit: itseasiassa toi toiminukkaan, pilkkominen unohtui :)

Tällein voisi toimia.

Tempfile [13.07.2004 12:09:41]

#

Hups, huomaa taas että on tullut kirjoteltua nukkumaanmenoajan jälkeen. Mutta sattuu sitä näköjään muillekin, tuolla on Nikon koodissa on pikku typo:

//typo
foreach($irvit as $filu){

//oikein
foreach($rivit as $filu){

Vastaus

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

Tietoa sivustosta