PHP: Codehilfe & Optimierung !?
Verfasst: Mo 20. Mär 2023, 17:46
Nun brauche ich mit meinen eher rudimentären Kenntnissen mal wieder eure Hilfe...
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
aber (mein Problem) ist, daß die Liste immer relativ unsortiert ausgegeben wird ...
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
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