<HTML>
<BODY>
<PRE>
<?php
#-------------------------------------------------------------------------------
# Variablen ermitteln #
#---------------------#
$rl = "http://" . $SERVER_NAME ; # Root-URL
$sn = $PHP_SELF; # Name Script relativ zur URL
$sl = $rl . $sn; # komplette URL dieses Scripts
$sn = substr($sn, 1); # 1. Zeichen ("/") vom Scriptname entfernen
$lp = strrpos($sn, "/"); # Position letztes "/"
# Dateiname Script ausblenden und damit nur noch Name aktuelles VZ
if ($lp) {$sd = substr($sn, 0, $lp);}
# Falls ein Verzeichnis als Parameter uebergeben, dann dies nehmen
if ($HTTP_GET_VARS["d"]) {
$sd = $HTTP_GET_VARS["d"];
}
# Falls ein SubDir vorhanden, dann fuer den Link ein "/" anfuegen
if ($sd) {$sdref = $sd . "/";}
#-------------------------------------------------------------------------------
# Test #
#------#
# echo "rl : $rl\n";
# echo "sn : $sn\n";
# echo "sl : $sl\n";
# echo "sn : $sn\n";
# echo "lp : $lp\n";
# echo "sd : $sd\n";
# echo "sdref : $sdref\n";
# echo "\n";
#-------------------------------------------------------------------------------
# Verzeichnis einlesen #
#----------------------#
$dir = $DOCUMENT_ROOT . "/" . $sd; # komplettes physikalisches Verzeichnis
$dr = dir($dir);
$ard = array();
$arf = array();
$pdref = "";
while($e=$dr->read()) {
# alle Eintraege, ausser die mit "." oder "index." beginnen, mit Link auflisten
if ((! ereg ("^\.", $e)) && (! ereg ("^index\.", $e))) {
$f = $dir . "/" . $e;
if (is_dir ($f)) {$ard[$e] = 0;} # Verzeichnis speichern
if (is_file ($f)) {
$sz = filesize($f); # Dateigroesse
$ti = date("d.m.Y H:i:s", filemtime($f)); # Datum letzter Aenderung
$arf[$e] = "$sz $ti"; # Dateiname mit den Zusatzinfos speichern
}
}
# Spezieller Link bei Eintrag ".." und nicht in der Root-URL
if (($e == "..") && ($sd)) {
$lp = strrpos($sd, "/"); # Position letztes "/"
$pd = substr($sd, 0, $lp); # neues Verzeichnis bis zum letztem "/"
$pdref = $sl . "?d=" . $pd;
}
}
$dr->close();
#-------------------------------------------------------------------------------
# Ausgabe #
#---------#
echo "<b>Directory: $rl/$sd</b><br>\n"; # kompletter Link
# Ausgabe Parent Directory
if ($pdref) {
echo "<a href=\"$pdref\">Parent Directory</a><br>\n";
}
# Ausgabe Verzeichnisse
ksort ($ard); # Verzeichnissnamen sortieren
reset ($ard); # Zeiger auf erstes Element im Array
while (list ($key, $val) = each ($ard)) {
$ref = $sl . "?d=" . $sdref . $key;
echo "[DIR] <a href=\"$ref\">$key</a><br>";
}
# Ausgabe Dateien
ksort ($arf); # Dateinamen sortieren
reset ($arf); # Zeiger auf erstes Element im Array
while (list ($key, $val) = each ($arf)) {
$key2 = substr($key, 0, 49); # maximale Laenge fuer angezeigten Dateinamen
$ref = $rl . "/" . $sdref . $key ; # Link zusammenstellen
$rp = str_repeat(".", 80 - strlen($key2) - strlen($val)); # mit "." auffuellen
echo "[FILE] <a href=\"$ref\">$key2</a> $rp $val<br>";
}
#-------------------------------------------------------------------------------
?>
</BODY>
</HTML>
We use essential cookies to make this site work, and optional cookies to enhance your experience.