[php]readdir nach Datum sortieren?

Diskutiere [php]readdir nach Datum sortieren? im Programmieren allgemein Forum im Bereich Programmieren unter Linux/Unix; Hallo beisammen, vorweg muss ich sagen, dass ich mich 0 mit php auskenne und auch (vorerst) kein Interesse daran habe. Allerdings ist der, der...

  1. juan_

    juan_ König

    Dabei seit:
    22.01.2004
    Beiträge:
    994
    Zustimmungen:
    0
    Ort:
    Berlin
    Hallo beisammen,
    vorweg muss ich sagen, dass ich mich 0 mit php auskenne und auch (vorerst) kein Interesse daran habe. Allerdings ist der, der sich um unsere Intranetseite kümmert, grade im Urlaub und ich wurde temporär damit beauftragt, diese Ausgabe zu sortieren, da ich mich noch am ehesten mit der Strukturierung der Seite auskenne.

    Folgendes Problem:
    Ich habe hier ein Verzeichnis, welches mit readdir ausgelesen wird. Das Auslesen geschieht allerdings willkürlich, obwohl es -laut php Referenz- nach Anlegung im Dateisystem ausgegeben werden sollte. Also praktisch nach Datum, wenn ich das richtig verstehe.
    Sooo, ich habe schon einige Zeit mit googlen verbracht und bin auf folgendes Thema gestoßen: *klick*.
    Vom Ansatz her, sieht es auf jedenfall sehr brauchbar aus, wenn es funktionieren würde. Egal, ob ich die Lösung mit "meinem" Code kombiniere oder es aber alleine stehen lasse, er wirft mir immer mit Fehlermeldungen um sich, dass er die Files nicht handeln kann. Außerdem gibt er mir dann ein Array mit den Werten [Datum, File, $file] zurück!

    Hier ist unser Code. Wie gesagt, bitte nicht schlagen, nicht mein Werk, ich finde ihn etwas "komisch".. naja, womöglich auch nur in Zusammenhang mit dem Rest:
    Code:
    dir = '.\ORDNER\BLAAAAAA';
    
    if ($handle = opendir($dir)) {
    
       while (false !== ($filename = readdir($handle))) {
    
    	$file=str_replace ( " ","%20",$filename);
    
    	  if ($file != "." && $file != "..") {
    
            echo "<a href=.\ORDNER\BLAAAAAA\\$file target='_blank'>$filename</a>";
    
    		echo "<br>"; 
    
        } 
    	}
            closedir($handle);
    }
    

    Wie kann ich es nun -möglichst ohne viel Aufwand- schaffen, die Einträge dem neusten Datum nach zu sortieren?

    Wäre für jeden Tipp (Lösung ? :D) und jedes vermiedene Rumgeflame sehr dankbar!

    ciao

    ps: den Ordnerinhalt zu sortieren geht def. nicht!
     
  2. #2 trustno1, 04.01.2008
    trustno1

    trustno1 000517--trustno1@FBI.gov

    Dabei seit:
    21.12.2007
    Beiträge:
    10
    Zustimmungen:
    0
    Einfaches Beispiel:

    Anstatt die Ordner direkt in der while-Schleife des dir-Handlers auszugeben, würde ich erstmal ein eindimensionales Array bauen und den Handler beenden.
    PHP:
    $dir '/PFAD/WOHIN/AUCH/IMMER/';

    if (
    $handle opendir($dir)) {
        
        while (
    false !== ($file readdir($handle))) 
        {
            if (
    $file != "." && $file != "..")
            {
                
    $bla[@filemtime($dir.$file)] = $file;
            }
        }
        
    closedir($handle);
    }
    Und nun die Array-Schlüssel (filemtime) mit Wertbeibehaltung wie gewünscht sortieren und ausgeben:

    PHP:
    krsort($bla);

    foreach (
    $bla as $file)
    {
        echo 
    "<a href=\"/PFAD/WOHIN/AUCH/IMMER/".str_replace(" ""%20"$file)."\" target=\"_blank\">$file</a><br>\n";
    }
    Frage am Rande: Was soll ".\ORDNER\BLAAAAAA\\" für eine Struktur sein?
     
  3. juan_

    juan_ König

    Dabei seit:
    22.01.2004
    Beiträge:
    994
    Zustimmungen:
    0
    Ort:
    Berlin
    hi,
    erstmal vielen Dank fuer die Hilfe. Leider werde ichs erst Montag wieder testen können!
    Dabei handelt es sich um nen Windowsserver mit frei erfundenen Ordnernamen. Das letzte "\" soll schätze ich mal ein Escapezeichen sein, so wie ich die Lage einschätze :)

    Ich melde mich wieder, wenn ich Probleme habe, oder es geklappt hat ! :o)

    ciao
     
  4. #4 trustno1, 04.01.2008
    trustno1

    trustno1 000517--trustno1@FBI.gov

    Dabei seit:
    21.12.2007
    Beiträge:
    10
    Zustimmungen:
    0
    Ahh, jetzt erinnere ich mich duster an alte Dos-Zeiten :o

    Wenn es eh nur erfunden war, hm´kay. Ich verstand nur nicht warum diese Variable in diesem String escaped werden sollte.

    Schönes - arbeitsfreies - Wochenende!
     
  5. juan_

    juan_ König

    Dabei seit:
    22.01.2004
    Beiträge:
    994
    Zustimmungen:
    0
    Ort:
    Berlin
    Hallo,
    der Pfad war real, die Ordnernamen habe ich aus Datenschutzgründen geändert!

    Ich weiß, dass es mit einem Slash nicht geklappt, wieso kann ich leider nicht sagen.. und das mit dem Escapen war nur ein Schuss ins Blaue !

    Danke!
     
  6. juan_

    juan_ König

    Dabei seit:
    22.01.2004
    Beiträge:
    994
    Zustimmungen:
    0
    Ort:
    Berlin
    //update:

    Mojn Mojn,
    das Skript zeigt leider nur einen Eintrag an. Ansonsten scheint es zu klappen (Die Verlinkung zumindest;)) !

    ciao
     
  7. #7 trustno1, 07.01.2008
    trustno1

    trustno1 000517--trustno1@FBI.gov

    Dabei seit:
    21.12.2007
    Beiträge:
    10
    Zustimmungen:
    0
    Versuch mal in der Variable $dir den Ordner mit einem Backslash abzuschließen.
    PHP:
    $dir '.\ORDNER\BLAAAAAA\';
     
  8. juan_

    juan_ König

    Dabei seit:
    22.01.2004
    Beiträge:
    994
    Zustimmungen:
    0
    Ort:
    Berlin
    heeey,

    muchas gracias. sieht super aus! vielen dank !

    ciao
     
Thema:

[php]readdir nach Datum sortieren?

Die Seite wird geladen...

[php]readdir nach Datum sortieren? - Ähnliche Themen

  1. postfix migirieren von 2.5. nach 2.10

    postfix migirieren von 2.5. nach 2.10: Hallo zusammen, ich versuche eine Postfix Server von einem Sles11 (Postfix 2.5) zu einem Centos 7.6 (Postfix 2.10) zu migrieren. Hab ein Centos...
  2. Menüs von vielen Programmen werden nach Aufrufen nicht angezeigt

    Menüs von vielen Programmen werden nach Aufrufen nicht angezeigt: Hallo Forum, lange ist es her, dass ich eure Hilfe brauchte. Jetzt habe ich aber ein Problem, dass ich mit Hilfe von Suchmaschinen und Foren nicht...
  3. Dateien nach Bestandteil im Namen verschieben

    Dateien nach Bestandteil im Namen verschieben: Hallo zusammen, es gibt ja schon einige Threads zum automatisierten Verschieben nach exif Datum etc. Ich versuche es einfacher anhand eines...
  4. Wo finde ich die Startseite ( Test-Page ) nach einer Erstinstallation

    Wo finde ich die Startseite ( Test-Page ) nach einer Erstinstallation: Wo finde ich die Startseite ( Test-Page ) nach einer Erstinstallation von CentOs welche man beim Aufruf der IP ohne : 2030 sieht ? Und habe ich...
  5. leerzeichen vor und nach einem STRING löschen

    leerzeichen vor und nach einem STRING löschen: Hallo Zusammen, ich muss in einer Datei die LEERZEICHEN vor und nach einem STRING entfernen, aber nicht innerhalb des Strings. Die STRINGS sind...
  1. Diese Seite verwendet Cookies um Inhalte zu personalisieren. Außerdem werden auch Cookies von Diensten Dritter gesetzt. Mit dem weiteren Aufenthalt akzeptierst du diesen Einsatz von Cookies.
    Information ausblenden