Tarkoitus on, että voidaan listata hakemiston kaikki alihakemistot ja niiden sisältämät tiedostot.
esim. http://www.simo-net.org/putka/putka/listaaja
<?php
//mikä hakemisto listataan
$perus="listataan/";
// functio suorittaa for silmukan joka tulostaa tarvittavan määrän - merkkejä
function laske($a){
for($i=0;$i<$a;$i++){
$sis.=" - ";
}
return $sis;
}
// argumentit: listattava hakemisto: $alku, tiedostojen lukumäärä: $tied ja hakemistojen lukumäärä $hak.
function listaa($alku, &$tied, &$hak){
global $perus;
//napataan vielä $perus messiin
if(!file_exists($alku)) exit("<font color=\"red\">ERROR: hakemistoa <b>$perus</b> ei löydy</font>");
// jos hakemistoa ei löydy, niin ilmoitetaan asiasta.
foreach(glob("$alku*") as $nimi){
//glob function ja foreach silmukan yhdistelmä käy kaikki hakemiston tiedostot ja alihakemistot läpi ja lukee kunkin vuorollaan $nimi:n.
$sis=explode("/", str_replace("$perus", "", $nimi));
//sisennystä varten lasketaan / merkkien lukumäärä $nimi:stä, mutta ensin pitää ottaa turha alkuosa pois
echo laske(count($sis));
//tulostetaan sisennys
if(is_dir($nimi)){
//jos listattava kohde on hakemisto
$hak++;
echo "<a href=\"$nimi\" class=\"hak\">".str_replace("$alku", "", $nimi)."</a><br>";
}else{
// ja jos ei
$tied++;
echo "<a href=\"$nimi\" class=\"fil\">".str_replace("$alku", "", $nimi)."</a> (".(filesize($nimi)/1000)." kt) <br>";
}
if(is_dir("$nimi")) listaa($nimi."/", $tied, $hak);
// jos löytyy alihakemistoja, niin homma aletaan alusta.
}
}
?>
<html>
<head>
<title>Listaaja 1.0</title>
<style type="text/css" href="styles.css">
body {
font-family: Sans; color: #000; font-size: 11px;
padding: 0px 100px 0px 100px;
}
h1 { margin: 0 }
div.listaus {
background: #b6e2ed;
border: 1px solid #5894a3;
padding: 10px
}
div.tulos {
float: right top;
}
a:link.hak { color: red; text-decoration: none }
a:visited.hak { color: #990000; text-decoration: none }
a:hover.hak { color: red; text-decoration: none }
a:active.hak { color: blue; text-decoration: none }
a:link.fil { color: black; text-decoration: none }
a:visited.fil { color: gray; text-decoration: none }
a:hover.fil { color: black; text-decoration: none }
a:active.fil { color: blue; text-decoration: none }
</style>
</head>
<body>
<h1>Listaaja 1.0</h1>
<?php
$tied = $hak = 0;
// alustetaan muuttujat.
echo "Listataan hakemistoa $perus<br><br><div class=\"listaus\">";
listaa($perus, $tied, $hak);
echo "</div>Listattiin yhteensä $tied tiedostoa $hak hakemistosta.";
?>
</body>
</html>Pistäs välilyönnit ennen ja jälkeen osotetta, muuten se lisää kerättyjen osotteiden perään pätkän koodiakin.
lainaus:
Pistäs välilyönnit ennen ja jälkeen osotetta, muuten se lisää kerättyjen osotteiden perään pätkän koodiakin.
mihin kohtaan siis? Kun mulla toimii ihan moitteetta..
Hyvin toimii :D
Aihe on jo aika vanha, joten et voi enää vastata siihen.