jess: Sortieren nach auslesen

Hallo,

mit dem folgenden Codeschnipsel lese ich Dateien aus einem Ordner aus
...

<?php
$ordner = "./images";
$handle = opendir($ordner);
while ($file = readdir ($handle)) {
    if($file != "." && $file != "..") {
        if(is_dir($ordner."/".$file)) {
            echo "/".$file."<br/>";
        } else {
            // kompletter Pfad
            $compl = $ordner."/".$file;
            echo "<a href="".$compl."">".$file."</a><br/>";
        }
    }
}
closedir($handle);
?>

...und ich würde diese gerne (alphabetisch) sortieren. Ich habe nach der Lösung gesucht und es mit SORT und ASORT probiert, komme aber zu keiner Lösung. Könnt Ihr mir vielleicht weiterhelfen, bin Php-Newbie.

Vielen Dank!

  1. Hello,

    <?php
    $ordner = "./images";
    $handle = opendir($ordner);

    #> while ($file = readdir ($handle)) {

    das ist falsch, weil ein File namens '0' die Abfrage beenden würde

    while ( false!==($file = readdir ($handle)) )
      {
        $_dir[] = $file;
      }

    closedir($handle);

    So kannst Du erstmal alle gefundenen Namen in einem Array sammeln.
    Dann kannst Du immer noch entscheiden, was Du damit machst.

    if (is_file($path.'/'.$file))

    liefert dann Auskunft über File oder Directory.

    mit den Array-Funktionen http://de.php.net/manual/en/book.array.php un der Funktion unset() http://de.php.net/manual/en/function.unset.php kannst Du dann den rest erledigen.

    Und alternativ schau Dir glob() an http://de.php.net/manual/en/function.glob.php

    Ein harzliches Glückauf

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de