Ordner auslesen und sortiert ausgeben?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Ordner auslesen und sortiert ausgeben?

    Ich habe den Ordner ausgelesen und möchte nun die Files sortiert ausgeben.

    PHP-Code:
    if ($handle = opendir('docs')) {

                
            while (false !== ($file = readdir($handle))) {
            $datei = split("[.]",$file);
            $werte = preg_split("/-/",$datei[0]);
            if ($file !== "." && $file !== ".." && $werte[0] == "DVD")  {
        
    ?>
                <table width="600" border="0" align="center" cellpadding="0" cellspacing="0">
                  <tr>
                    <td width="150"><? echo $werte[0]; ?></td>
                    <td width="150">RG<? echo $werte[2]; ?></td>
                    <td width="150"><? echo $werte[5].".".$werte[4].".".$werte[3]; ?></td>
                  </tr>
                </table>
                <p><br/>
                </p>
                <?    
        }
            }

        closedir($handle);
    Wie schaffe ich es nun, dass die einzelnen Dateien einmal nach $wert[0], oder nach $wert[1], etc. sortiert werden? Gibt es da überhaupt eine Möglichkeit?
    Die Sortierung müsste ja schon vor der while-Schleife erfolgen...

    Grüße

    Tobias
    Wenn die Sonne der Kultur niedrig steht, werfen selbst Zwerge einen Schatten. (Karl Kraus)

  • #2
    Vor der Schleife kannst du nicht sortieren, weil du einfach nichts in der Hand hast. Die Dateinamen werden einzeln gelesen. Du hast immer nur ein einziges $file.

    Lies erstmal alles in ein Array, sortiere das mit sort() und gib es dann in einer separaten Schleife aus.
    Oder nimm glob().

    Kommentar


    • #3
      hab eine lösung gefunden

      PHP-Code:
      $files = array();
                  
              while (
      false !== ($file readdir($handle))) {
              
      $datei split("[.]",$file);
              
      $werte preg_split("/-/",$datei[0]);
                  if (
      $file !== "." && $file !== ".." && $werte[0] == "RG")  {
                      
      $files[] = $werte;
                      
                  }
              }

      //Sortieren
              
      function cmp($a$b) {
                     return 
      strcmp($a["1"], $b["1"]);
              }
              
      usort($files"cmp");

      for (
      $i=0$i $anzahl_docs$i++) { 
      usw...
      Wenn die Sonne der Kultur niedrig steht, werfen selbst Zwerge einen Schatten. (Karl Kraus)

      Kommentar

      Lädt...
      X