Hello,
ich lese mit while ($datei = readdir($verzeichnis)) ein Verzeichnis aus und möchte die Werte von $datei in einem Array bespeichern damit ich nachher mit echo "$array[i++]"; darauf zu greifen kann.
In dieser Aufgabe stecken zwei gemeine Fehlermöglichkeiten drin:
1. Die Eröffnung des Verzeichnisses erfolgt mit einem HANDLE,
die gelieferten Verzeichniseinträge sind aber NAMEN.
Die Lösung findest Du selber!
2. Die Abfrage ($datei = readdir($verzeichnishandle)) ist falsch, denn spätestens
bei einer Datei mit dem Namen "0" würde sie abbrechen.
Richtig ist die Abfrage
while(false !== ($filename = readdir($verzeichnishandle)))
{
$_dircontent[] = $dirname.'/'.$filename;
}
Außerdem kann der gelieferte Name immer noch ein Verzeichnis oder einen Link (o.ä.) liefern.
Das kannst Du abfangen, wenn Du mit is_file($dirname.'/'.$filename) abfragst.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau