• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

opendir funktioniert nicht richtig

sin777

Neues Mitglied
Bei folgendem Code werden mir komischerweise nur die Hälfte der Dateien, welche in dem Ordner sind ausgegeben ... Woran kann das liegen?

PHP:
        <?php
            $Verzeichnishandle = opendir(getcwd());
            while(readdir($Verzeichnishandle) != "") {
                echo readdir($Verzeichnishandle) . "<br />";
            }
            closedir($Verzeichnishandle);
        ?>
 
readdir liest einen Eintrag aus (gibt ihn als String zurück) und schubst den internen „Zähler“ eins weiter. In deinem Beispiel liest du zwei Einträge aus, zeigst aber nur einen an.

Guck dir mal die Beispiele in der Doku an.

- PHP: readdir - Manual
 
Und mal so unter uns... PHP hat zwar keine feste typisierung AAAAABER die meisten Funktionen bieten troztdem eindeutige hinweise auf ihre Funktionstüchtigkeit zurück. Deshalb empfehle ich deinen Code folgendermaßen umzugestalten.

PHP:
$rDir = opendir('/*some directory*/');
while(false !== ($sFile = readdir($rDir))) {
    if('.' == $sFile{0}) { // evtl -> if('.' == $sFile || '..' == $sFile) {
        continue;
    }
    
    // do something with $sFile
}
 
Zurück
Oben