Nach Name sortieren funktioniert nicht

Dieses Thema Nach Name sortieren funktioniert nicht im Forum "Windows XP Forum" wurde erstellt von Raptor, 15. Juni 2009.

Thema: Nach Name sortieren funktioniert nicht Bin halt noch Anfänger im programmieren und habe dazu nichts gefunden ausser das mit dem Array. Wollte die Dateien...

  1. Bin halt noch Anfänger im programmieren und habe dazu nichts gefunden ausser das mit dem Array.
    Wollte die Dateien aus meinem Ordner auslesen, was auch schon lange funktioniert, nur wollte ich jetzt das er mir die dateien sortiert ausgibt.

    Funktioniert aber nicht so wie ich will, entweder ich habe eine Endlosschleife mit nur einem Namen oder er gibt mir nur die Datei aus die neu ist, loool.
    Also wo liegt jetzt wieder mein Fehler, Anfänger halt :-(

    Code:
    <?php
    $verzeichnis = openDir(tracks/); // oeffnet ein Unterverzeichnis mit den dateien
    while ($file = readDir($verzeichnis)) { // Verzeichnis lesen
    
    $dateien = array($file);
    
    clearstatcache();
    $zeit_aktuell = time();
    
    $upload_datum = filemtime('tracks/' . $file);
    
    $zeit_vor_woche = $zeit_aktuell - 60*60*24*7;
    
    sort($dateien);
    
    $i=0;
    while($dateien[$i]){
    
    if ($upload_datum > $zeit_vor_woche){
    
    
     if ($file != . && $file != ..) { // Hoehere Verzeichnisse nicht anzeigen!
      
    
    
    
    echo <table align=\center\ border=\0\ width=\400\><tr>
    
    <td align=\center\ background=\../banner/bgdl.jpg\ width=\400\ height=\28\>
    
    <img src=\../banner/new.gif\>
    
    <a href=\tracks/$dateien[$i]\><font color=\gold\><b>$file</b></font></a></td></tr></table>\n; // Link erstellen
     
     $i++;
     
     
     }
    }else {
    
    if ($file != . && $file != ..) { // Hoehere Verzeichnisse nicht anzeigen!
      
    echo <table align=\center\ border=\0\ width=\400\><tr>
    
    <td align=\center\ background=\../banner/bgdl.jpg\ width=\400\ height=\28\>
    
    <a href=\tracks/$dateien[$i]\><font color=\gold\><b>$file</b></font></a></td></tr></table>\n; // Link erstellen
     
     $i++;
     
     }
     
    }
    }
    }
    closeDir($verzeichnis);
    ?> 

    Habe auch schon über sort gelesen und ksort, stehe aber voll aufm schlauch damit weil es nicht funktioniert bei mir, son sch... !

    Wäre euch echt dankbar für jede Hilfe, weil ich weiß nicht mehr wo der Fehler liegt.
     
  2. Nabend,

    wenn Du mit readdir beginnst Dein Verzeichnis auszulesen, enthält $file immer nur den aktuellen Dateinamen.

    $dateien = array($file);
    speichert die Werte jedesmal neu (ohne sich den alten Wert zu merken), dafür gibt es entweder die Funktion array_push() oder Du speicherst es direkt

    Code:
    <?php
    $verzeichnis = openDir(tracks/); // oeffnet ein Unterverzeichnis mit den dateien
    $i = 0;
    $dateien = array(array());
    while (false !== ($file = readdir($verzeichnis))) { // Verzeichnis lesen
     if ($file == . || $file == ..) { continue; }
     $dateien[$i][0] = filemtime('tracks/' . $file); // an erster Stelle im Array das Datum speichern
     $dateien[$i][1] = $file;               // an 2. Stelle den Dateinamen speichern
     clearstatcache();
     $i++;
    }
    sort($dateien);
    ...
    
    ist jetzt nicht 100% geprüft aber so in etwa sollte Dein Code aufgebaut sein, vermeide verschachtelte while Schleifen, das geht am Anfang meistens schief ;)

    untersuche mit einem Debugger oder am Ende Deine Variablen
    echo <pre>;
    var_dump($dateien);
    echo </pre>;

    naja wie auch immer, ich hoffe es hilft Dir
     
Die Seite wird geladen...

Nach Name sortieren funktioniert nicht - Ähnliche Themen

Forum Datum
Tastatur reagiert nicht nach Neueinrichtung von Windows 7 bei Benutzernamen eingeben Windows 7 Forum 9. Aug. 2014
Nach Benutzernamensänderung kann ich nichts mehr Installieren. Windows XP Forum 29. Okt. 2011
unverständliche Datenträger Namen nach XP Installation Windows XP Forum 31. Jan. 2011
Laufwerk nach seinem Namen ansprechen? Windows XP Forum 22. Aug. 2010
Ordner NICHT nach Namen sortieren Windows 7 Forum 22. Aug. 2010