[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. Anzeige

    Anzeige

    Wenn du mehr über Linux erfahren möchtest, dann solltest du dir mal folgende Shellkommandos anschauen.


    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #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?
     
  4. 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
     
  5. #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!
     
  6. 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!
     
  7. 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
     
  8. #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\';
     
  9. 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. PHP7.3 - cURL 7.0 Backport nicht möglich nach Debian Upgrade

    PHP7.3 - cURL 7.0 Backport nicht möglich nach Debian Upgrade: Guten Morgen Gemeinde, ich habe auf einem prduktiven Webserver ein step by step Upgrade von der oldstable zur stable Ausgabe von Debian...
  2. Slackware sucht nach Unterstützern

    Slackware sucht nach Unterstützern: Wie die Entwickler von Slackware bekannt gaben, können Nutzer das Projekt finanziell mit einer monatlichen Spende auf Patreon unterstützen....
  3. Mozilla startet Ideenwettbewerb für glaubwürdige Nachrichten

    Mozilla startet Ideenwettbewerb für glaubwürdige Nachrichten: Glaubwürdige Inhalte von Falschmeldungen zu unterscheiden und den Benutzern entsprechende Hinweise zu geben, ist das Ziel eines Wettbewerbs, den...
  4. 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...
  5. 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...
  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