Sortieren

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

  • Sortieren

    PHP-Code:
    <?php
    $files 
    = array();
    $handle=opendir('dates/');
    while (
    $file readdir ($handle)) {
       if (
    $file != "." && $file != "..") {
           
    $files[] = $file;
       }
    }
    closedir($handle);
    sort($files);
    foreach ( 
    $files as $file ) {
        echo
    "<p> - ";
       include(
    "dates/".$file);
       echo
    "</p>";
    }
    if (
    "" == $file) {
    echo
    "Keine Termine Eingetragen!";
    }
    ?>
    Das hab ich bereits. Es liest einen Order aus, in dem .txt dateien sind. Diese haben jeweils Namen mit einem Datum (z.b. 02_02_2002.txt), diese werden dann nach Namen sortiert und der Reihe nach Ausgegeben. Nun mein Problem:

    Ich möchte sie geau umgerdreht ausgegeben haben, d.h. immer das neuste Datum zuerst haben.

    Kann mir wohl jemand helfen?^^....danke

  • #2
    das hilft:

    PHP-Code:
    if(filectime($path.$file) > filectime($path.$array[0])):
        
    $array_tmp[] = $file;
        
    $array array_merge($array_tmp,$array);
    else:
         
    $array[] = $file;
    endif; 
    einfach in die while schleife einbauen und fertig array enthält die sortierten file namen mit neusten datum als erstes

    Kommentar


    • #3
      wie werden diese dateien erstellt?
      wenn du einfluß drauf hast, ändere das format zu YYYYMMDD.txt und schon ist alles viel einfacher.

      ansonsten wirst du jeden dateinamen mittels regulärer ausdrücke oder einfacher stringfunktionen, wie explode(), auseinander nehmen müssen. in wiefern dir filectime() besser passt, musst du selbst entscheiden.

      Kommentar


      • #4
        ich würde da einfach mit einem zeitstempel arbeiten, sprich mit

        PHP-Code:
        time() 
        der gibt dir die sekunden seit dem 1.1.1970 wieder und dann einfach nach der größe der zahl sortieren...
        ist dem prinzip von pinizillin gleich...
        Das Problem zu erkennen ist wichtiger, als die Lösung zu erkennen, denn die genaue Darstellung des Problems führt zur Lösung.
        [Albert Einstein

        Kommentar


        • #5
          Original geschrieben von penizillin
          [B]wie werden diese dateien erstellt?
          wenn du einfluß drauf hast, ändere das format zu YYYYMMDD.txt und schon ist alles viel einfacher.
          is schon scheisse wenn man die schatztruhe hat und das schloss nich aufkriegt, wa?

          thx, man

          Kommentar


          • #6
            Macht nicht folgendes kurze Stück genau das was du möchtest?
            (Andersrum sortierten -> rsort()!)
            PHP-Code:
            <?php
            $files 
            glob('dates/*.txt');
            if ( 
            is_array($files) ) {
                
            rsort($filesSORT_STRING);
                foreach ( 
            $files as $file ) {
                    echo 
            '<p> - ';
                    if ( @
            readfile('dates/'.$file) === FALSE )
                        echo 
            'Huch, Datei dates/'.$file.' konnte nicht gelesen werden.';
                    echo 
            '</p>';
                }
            } else echo 
            'Keine Termine eingetragen!';
            ?>

            Kommentar

            Lädt...
            X