c.franke: ordner auslesen und reihenfolge umkehren

Hallo,

ich habe folgenden Code:

<?
$verzeichnis = "blah/";

$dir = opendir($verzeichnis);
while($datei = readdir($dir)) {
    if (is_file($verzeichnis.$datei) && (substr($datei, -3, 3) == "mp3"))
    {
       echo "Ausgabe";
    }
}
?>

ich will nun aber die reihenfolge umkehren, also aus:

061222_test.mp3
061225_test.mp3

wird dann:

061225_test.mp3
061222_test.mp3

geht das? wenn ja, wie?

  1. ich will nun aber die reihenfolge umkehren,

    Dann les die Daten doch zuerst in ein Array:

      
    $verzeichnis = "blah/";  
    $treffer = array();  
    $dir = opendir($verzeichnis);  
    while($datei = readdir($dir)) {  
      if (is_file($verzeichnis.$datei) && (substr($datei, -3, 3) == "mp3"))  
      {  
        array_push($treffer, $datei);  
      }  
    }  
    
    

    Und nutze die Funktion sort() bzw. rsort() in deinem Fall. Es wird anhand des Wertes sortiert. Eine Übersicht über die Gewichtung findest du in der Referenz.

  2. Moin,

    ich habe folgenden Code:
    [...]
    ich will nun aber die reihenfolge umkehren, also aus:

    was meinst du mit "umkehren"? Bisher hast du ja überhaupt keine definierte Reihenfolge; du gibst die Einträge so aus, wie du sie aus dem Filesystem liest. Das ist *möglicherweise* die Reihenfolge, in der die Dateien angelegt wurden, kann aber ebensogut eine völlig willkürliche Reihenfolge sein.

    Falls du die Verzeichniseinträge nach irgendeinem Kriterium sortieren willst, musst du sie auf jeden Fall erst mal sammeln (der Kollege hat schon angedeutet, wie's geht), und dann das Array sortieren.
    Bei einer relativ einfachen Sortierung nach Namen geht das mit sort(), bei anspruchsvolleren Sortierkiriterien (z.B. Größe, Erstellungsdatum) könnte dir usort() weiterhelfen.

    Frohe Feiertage,
     Martin

    --
    Wenn du beim Kochen etwas heißes Wasser übrig hast, friere es ein.
    Heißes Wasser kann man immer gebrauchen.
  3. Hallo,

    suchst du vielleicht array_reverse()? Aber ich denke auch, wie Martin und Snucky, dass du das Array möglicherweise vorher sortieren willst.

    Schöne Grüße,

    Johannes