Scriptausgabe nach Datum sortieren (Anfänger)

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

  • Scriptausgabe nach Datum sortieren (Anfänger)

    Hallo Leute,

    ich bin leider nicht so bewandert in PHP wie sicher die Meisten hier und wollte mal fragen ob mir jemand mit meinem Problem helfen könnte.

    Ich verwende folgenden Code, um ein Verzeichnis beim Aufruf des Scripts im Browser anzuzeigen:

    PHP-Code:
    <?

    $the_file_array = Array();
    $the_folder_array = Array();
    $handle = opendir('./');

    while (false !== ($file = readdir($handle))) {
       if ($file != ".") {
       if (filetype($file) == "file") { $the_file_array[] = $file; } else if (filetype($file) == "dir") {$the_folder_array[] = $file; }
       }
    }

    closedir($handle);
    sort ($the_file_array);
    reset ($the_file_array);
    sort ($the_folder_array);
    reset ($the_folder_array);

    while (list ($key, $val) = each ($the_folder_array)) {
       if (($val != ".") && (!fnmatch("*.php*", $val))) {
           if ((fnmatch("~*", $val)) || (fnmatch("~some_thing", $val))) {
               // CASE: An outcommented file. - Syn: "~<filename>" - Exp: "~nottobeseen.txt"
               echo "** SECRET FILE **<br>";
           }else{
               if ($val == "") {
                   if ($rootdir == "1") {
                       // CASE: Don't show the way upward if this is the root directory.
                       // Root Directory, do nothing.
                   }else{
                       // CASE: Show the "" to go back if this is NOT the root directory.
                       echo '';
                   }
               }else{
                   // CASE: All normal folders. No ".." and no ".".
                   echo '';
               }
           }
       }
    }

    while (list ($key, $val) = each ($the_file_array)) {
       if (($val != ".") && (!fnmatch("*.php*", $val))) {
           if ((fnmatch("*~~*", $val)) || (fnmatch("~cheat_sux^hi", $val))) {
               // CASE: An outcommented file. - Syn: "~<filename>" - Exp: "~nottobeseen.txt"
               echo "** SECRET FILE **<br>";
           }else{
                   echo '<ul><li><a href="'.$val.'">'.$val.'</a></li></ul>';
               }
       }
    }

    ?>
    Es funktioniert einwandfrei und lässt es zu, dass man jede vorhandene Datei mit einem Klick aufrufen kann.

    Wie könnte man die Ausgabe jetzt nach dem Erstellungsdatum der jeweiligen Datei, die sich auf dem Server befindet, sortieren?

    Bin ich leider überfragt, kenn mich mit dem Coden leider nicht aus ...

    Aber vielleicht hat ja jemand von Euch eine Idee ?!

    Danke fürs lesen und eventuelle Codeschnippsel
    Zuletzt geändert von creepingdeath; 10.02.2006, 13:08.

  • #2
    in $the_file/folder_array[] werden doch die einträge des verzeichnisses gespeichert.
    mit
    PHP-Code:
    stat() 
    kann man dateiinformationen auslesen, unter anderem auch das datum wann das file erstellt wurde. diese informationen packst du mit in das array hinein.

    und bevor du das array wieder ausließt sortierst du es. schau mal unter php.net unter sort nach, dort findest du genügeng codeschnipsel um ein assiziatives array zu sortieren.

    so könnte das ganze funktionieren.
    Zuletzt geändert von 4011; 10.02.2006, 13:41.

    Kommentar


    • #3
      Bitte den Code gemäß Regeln umbrechen.

      Kommentar

      Lädt...
      X