Jupp: Dateien aus Ordner auslesen

Hallo,

mit diesem Code ...

  
<?php  
// Mit den folgenden Zeilen lassen sich  
// alle Dateien in einem Verzeichnis auslesen  
$handle=opendir ("pfad");  
echo "Verzeichnisinhalt:<br>";  
while ($datei = readdir ($handle)) {  
 echo "$datei<br>";  
}  
closedir($handle);  
?>  

lese ich Dateien aus einem Ordner aus. Bei der Ausgabe erscheint nun ...

.
foto1.jpg
foto2.jpg
.
.
foto3.jpg
etc.

Könnt Ihr mir sagen, warum da diese Punkte auftauchen und ob man die entfernen kann? Eine weitere Frage: Ist es möglich, die Ausgabe alphabetisch zu sortieren?

Vielen Dank!

  1. Hi,

    <?php

    // Mit den folgenden Zeilen lassen sich
    // alle Dateien in einem Verzeichnis auslesen
    $handle=opendir ("pfad");
    echo "Verzeichnisinhalt:<br>";
    while ($datei = readdir ($handle)) {
    echo "$datei<br>";
    }
    closedir($handle);
    ?>

    
    >   
    > Bei der Ausgabe erscheint nun ...  
    >   
    > .  
    > foto1.jpg  
    > foto2.jpg  
    > .  
    > .  
    > foto3.jpg  
      
    das kann ich mir nicht vorstellen. Oder meinst du die beiden Einträge "." und "..", die am Anfang jedes Verzeichnislistings auftauchen? Wenn ja: Die werden vom Dateisystem automatisch generiert und repräsentieren das aktuelle bzw. sein Elternverzeichnis.  
      
    
    > Könnt Ihr mir sagen, warum da diese Punkte auftauchen und ob man die entfernen kann?  
      
    Nein, erst wenn du mehr Informationen lieferst. Beispielsweise eine \*exakte\* Ausgabe deines Scripts.  
      
    
    > Eine weitere Frage: Ist es möglich, die Ausgabe alphabetisch zu sortieren?  
      
    Natürlich: Sammle sie in einem Array, ohne sie sofort auszugeben, und sortiere dann das Array um. Dann ausgeben.  
      
    So long,  
     Martin  
    
    -- 
    Ja, ja ... E.T. wusste schon, warum er wieder nach Hause wollte.  
    
    
  2. Hi!

    // Mit den folgenden Zeilen lassen sich
    // alle Dateien in einem Verzeichnis auslesen

    Und nicht nur diese sondern auch alle darin enthaltenen Verzeichnisnamen.

    Könnt Ihr mir sagen, warum da diese Punkte auftauchen und ob man die entfernen kann?

    Du meinst . und ..? Das sind zwei Pseudoverzeichnisse. Das . steht für das Verzeichnis selbst und das .. für das übergeordnete. Entfernen kann man die nicht, nur fallweise ignorieren.

    Eine weitere Frage: Ist es möglich, die Ausgabe alphabetisch zu sortieren?

    Nein, wenn du sie ausgegeben hast ist es schon zu spät. Du musst sie erst sammeln, dann sortieren und abschließend ausgeben. Beispiele dazu gibt es in den Benutzerkommentaren unter anderem von opendir(). Außerdem gibt es die Funktion glob(), die ein bereits sortiertes Ergebnis liefert.

    Lo!