Wenn ich soetwas
auch nur sehe, bekomme ich das grosse Grausen. Selbstverständlich merkst du bei so einer chaotischen Darstellung auch nicht, dass du den Array bei jedem Schleifendurchgang neu sortierst, aber selbstverständlich am Ende nicht mehr.
So könnte das etwas lesbarer strukturiert aussehen:
PHP-Code:
foreach($files as $file => $byte)
{
echo "<a href='upload.php?file=$file'>$file</a> ($byte Bytes)<br />";
}
}
}
}
}
So könnte das etwas lesbarer strukturiert aussehen:
PHP-Code:
<?
// In diesem Verzeichnis befinden sich die Downloads
$path = "uploads";
if (isset($_GET['file'])) {
$handle = fopen("$path/" . $_GET['file'] . "", 'a+');
if ($handle) {
write($handle, '0');
}
else {
echo "<br />Es ist ein Fehler aufgetreten.<br />";
}
fclose($handle);
}
echo "Einfach auf die Datei klicken damit sie geändert wird.<br >/<br />";
// Öffnen des Verzeichnisses
$handle = opendir ($path);
$files = array(); // <- [EDIT] vor der while-Schleife
// Für jede Datei im Verzeichnis eine neue Zeile als Schleife
while (false !== ($file = readdir ($handle))){
if ($file != "." && $file != ".." && $file != "index.html"){
$pfad = $path . "/" . $file;
// Grösse bestimmen
$byte = filesize($pfad);
// Erst alles in ein Array schreiben
if (! is_dir($pfad)) {
$files[$file] = $byte;
}
}
}
// Nach Schlüsseln sortieren
ksort($files);
// Und jetzt erst die Links ausgeben
foreach($files as $file => $byte){
echo "<a href='upload.php?file=$file'>$file</a> ($byte Bytes)<br />";
}
// Verzeichnis wieder schliessen
closedir($handle);
?>
Kommentar