Hallo David,
Das Script:
(… lässt sich mit Einrückungen besser lesen …)
<?php $verzeichnis = openDir("dateien/Schulungen"); // Öffnet ein Unterverzeichnis mit dem Namen "daten" while ($file = readDir($verzeichnis)) { // Verzeichnis lesen if ($file != "." && $file != "..") { // Höhere Verzeichnisse nicht anzeigen! echo iconv('ISO-8859-15', 'UTF-8', " <a href=\"dateien/Schulungen/$file\">$file</a><br>\n"); // Link erstellen } } closeDir($verzeichnis); // Verzeichnis schließen ?> <br>
… und hat ein paar Probleme:
- Der in
$file
stehende Dateiname kann Zeichen enthalten, die im HTML-Kontext eine besondere Bedeutung haben. Du musst den Dateinamen daher mit htmlspecialchars escapen. - Deine Liste ist nicht als solche ausgezeichnet.
- Was für ein Dateisystem verwendet denn ISO-8859-15 als Zeichenkodierung für die Dateinamen?
Das Script fumktioniert soweit auch sehr gut. Das Problem ist das in den Ausgelesenen Dateien z.B. solche Dateienamen stehen:
RA.TR.PL.ADLER.1706.DE.pdf
Sobald ein .PL. im Dateinamen vorhanden ist bekomme ich eine Fehlermeldung
Serverfehler! Die Anfrage kann nicht beantwortet werden, da im Server ein interner Fehler aufgetreten ist. Der Server ist entweder überlastet oder ein Fehler in einem CGI-Skript ist aufgetreten.
Hast du schon ins error.log deines Apachen geschaut? Da sollte der Grund für den Fehler stehen.
Viele Grüße
Robert