Ich bin gerade dabei, mir eine Seite zu basteln, die mir den Inhalt nebst Nebeninfos (je) eines Verzeichnisses (mit Unterordnern durch _GET() anzeigen soll (vgl. MS-Explorer ohne Navispalte)
example.de/verzeichnis.php = ./file oder
example.de/verzeichnis.php?id=test3/unterordner1 = ./files/test3/unterordner1
Code: Alles auswählen
// Einstellungen:
$verzeichnis = 'files'; // DateiVerzeichnis
if ($_GET['id'] != "") {
$verz = $verzeichnis.'/'.$_GET['id'];
} else {
$verz = $verzeichnis;
}
// Gibt eine Instanz der Directory Klasse an $dirHandle zurück
$dirHandle = dir($verz);
// Verzeichnis Datei für Datei lesen
while (($f = $dirHandle->read()) != false) {
// Nur ausgeben, wenn nicht . oder .., es sich abr um ein Verzeichnis handelt
if ($f != "." && $f != ".." && is_dir($verz."/".$f)) {
echo "Ordner: ".$f."<br>";
} elseif ($f != "." && $f != ".." && !is_dir($verz."/".$f)) {
$file = "./".$verz."/".$f;
$fsize = filesize($file);
$fsize = ($fsize < 1024) ? $fsize . " B" : (($fsize >= 1048576) ? number_format(($fsize / 1024 / 1024), 2, ",", ".") . " MB" : number_format(($fsize / 1024), 0, ",", ".") . " KB");
echo "Datei: ".$f." / Format: ".pathinfo($file)['extension']." / Pfad: ".$file." / Name: ".pathinfo($file)['filename']." / Größe: ".$fsize." / Datum: ".date("d.m.Y - H:i", filemtime($file))."<br>";
}
}
// Verzeichnis wieder schließen
$dirHandle->close();
Alle Versuche (ja, ich bin ein Tray&Error-Mensch!) mit sort() sind mir erfolglos geblieben, obgleich sort(dirHandle) doch hätte helfen müssen, oder?!?
Außerdem wollte ich fragen, ob ich den Code noch weiter optimieren kann/sollte ??
LG RF