Verzeichnisauflistung

Hallo Ihr lieben.
Ich stehe vor einem kleinen Problem:
ich will eine Auflistung meines Downloadbereiches erstellen.
Dabei soll über GET der Ordner gewählt werden.
Dabei soll man natürlich nicht aus dem DL-Ordner raukommen.
Mein aktueller code sieht folgendermaßen aus:

[code]
showDir($_GET[‘folder’].’/’);

function showDir($dir){
$dir2=realpath($dir);
if(!(preg_match(’!./mosswald/www/Data/java/.!’,$dir2)))
$dir = ‘./Data/java/’;
$handler = opendir($dir);
while ($file = readdir($handler)){
if ($file != “.” && $file != “…”){
if (is_dir($dir.$file)){
echo(’
’.$file.’’);
}
else{
echo (’
’.$file.’’);
}
}
}
closedir($handler);
}[/code]
Leider gibt es eine Fehlermeldung:

wenn man tatsächlich mal einen jemand hat der durch dieses Script mist bauen will.
Ansonsten funktioniert es jedoch.
Nun will ich aber nicht, dass da in irgendeinem Fall irgendeine Fehlermeldung durch das Script verursacht wird.
Hat da jemand eine Idee?

Liebe Grüße,
Malte

scheint keiner eine Idee haben…
schade :frowning:

Wie übergibst du denn den Pfad - mit führendem Slash vermutlich?

Mach dir den Unterschied zwischen einer Pfadangabe auf HTTP- und auf Dateisystemebene klar.

/blubb mag zwar vom Web aus gesehen einen Pfad unterhalb deiner Domain adressieren - im Dateisystem adressiert es aber einen Pfad, der oberhalb des Bereiches liegt, auf den du Zugriff hast.

Probiere mal, $_SERVER[‘DOCUMENT_ROOT’] davor zu hängen, bevor du realpath darauf anwendest.

(Allerdings solltest du den Wert dann auch tatsächlich verwenden, wenn du den Inhalt des als Parameter übergebenen Ordners auslesen willst - derzeit überschreibst du ja $dir nach der Überprüfung wieder mit einem festen Wert.)