[php]readdir nach Datum sortieren?

Dieses Thema im Forum "Programmieren allgemein" wurde erstellt von juan_, 04.01.2008.

  1. juan_

    juan_ König

    Dabei seit:
    22.01.2004
    Beiträge:
    992
    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

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    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:
    992
    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:
    992
    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:
    992
    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. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  9. #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\';
     
  10. juan_

    juan_ König

    Dabei seit:
    22.01.2004
    Beiträge:
    992
    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. Keine Benachrichtigungen im Vollbild Modus

    Keine Benachrichtigungen im Vollbild Modus: Arch Linux Plasma 5.8 Weiss einer ob das gehen sollte, bzw kann mal einer testen ob es bei ihm geht, gerne auch mit anderen kde/plasma versionen....
  2. SRV Records nicht erstellt nach dcpromo

    SRV Records nicht erstellt nach dcpromo: Hallo zusammen, leider sind beim Join meines 2. DC in eine Samba 4 Domäne die SRV-DNS Records nicht erstellt worden... Hatte jemand schonmal das...
  3. CentOS 7: Falsche Metric bei regelbasiertem Routing nach Server-Reboot

    CentOS 7: Falsche Metric bei regelbasiertem Routing nach Server-Reboot: Hallo zusammen Ich möchte unseren existierenden SFTP Server durch einen neuen Server mit CentOS 7 ersetzen. Da der Server einerseits direkt via...
  4. Nicht erkannte Zeichen nach Update

    Nicht erkannte Zeichen nach Update: Hi, nachdem ich mein Kali Linux geupdated habe, ist mir aufgefallen dass viele Zeichen auf verschiedenen Nutzeroberflächen nur fehlerhaft...
  5. Nach Update debian 8 ist der Zugriff auf samba4 nicht möglich

    Nach Update debian 8 ist der Zugriff auf samba4 nicht möglich: Gerade habe ich debian mit dem Befehl "apt-get ugrade" aktualisiert. Es gab zahlreiche neue Daten unteranderen samba files. Nach neuem Start kann...