Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: kansion listaus

asgnm [29.10.2007 04:16:33]

#

Osaiskohan joku viisaampi neuvoa miten onnistuisi listaamaan tähän tapaan tiedostot kansiosta ?

kansio
....2.txt
....3.txt
....4.txt
....4.kansio // tätä ei näytetä
........5.txt
........6.txt
....7.txt
....8.txt
....8.kansio // tätä ei näytetä
........9.txt
....10.txt

Eli tarkoitus olisi näyttää kansiossa olevat tiedostot. Jos löytyy jonkun tiedoston niminen kansio, esim. etusivu.txt ja etusivu.kansio avataan se myös ja listataan sieltä suoraan ilman että kansion nimeä näytetään tiedostot edellä mainitun tiedoston alle.

Tämmösellä pätkällä toimii lähes niin kuin pitääkin mutta tässä on se ongelma että pitäisi saada johokin väliin yks echo erikseen noita alatiedostoja varten.

<?php
function saatana($dir = '.', $exclude = array( '.', '..' )){
	$exclude = array_flip($exclude);
	$dh = opendir($dir);
	$stack = array($dh);
	$level = 0;
    	while(count($stack)){
        if(false !== ( $file = readdir( $stack[0] ) ) ){
            if(!isset($exclude[$file])){
                if(is_dir($dir . '/' . $file)){
                    $dh = opendir($dir. '/' . $file );
                    if($dh){
			echo "
			<tr><td>$file</td></tr>
			";
                        array_unshift($stack, $dh);
                    }
                }else{
			$file = substr($file, 0, strlen($file)-4);
			if (file_exists("$dir/$file")){
				//	EI MITN

			}else{
				echo "
				<tr><td>$file</td></tr>
				";
			}
		}
            }
       }else{
            closedir(array_shift($stack));
        }
    }
}
echo "<table border=\"1\">";
saatana( "$dataDir" );
echo "</table>";
?>

Vastaus

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

Tietoa sivustosta