Einzelnen Beitrag anzeigen
  #1  
Alt 16.02.2018, 02:03:18
UwBe Inter UwBe Inter ist offline
Anfänger
 
Registriert seit: Feb 2018
Alter: 39
Beiträge: 3
Sortieren von RecursiveDirectoryIterator?

Hallo Zusammen

Ich lasse auf meiner Webseite aktuell vorhandene Verzeichnisse auflisten. Diese können angeklickt werden und danach wird der Inhalt aufgelistet (Bilder und Videos) mit Vorschau etc.

Eine einzelne Funktion dabei ist die Auflistung aller Archiv-Ordnern, die nach Datum benannt sind. Beispiel, wie es aktuell ausgegeben wird:

Code:
2018-02-14
2017-08-01
2018-02-17
2013-01-28
2018-01-27
2017-09-12
(Jahr-Monat-Tag)

Ich versuche schon länger verzweifelt die Funktion so zu erweitern, dass die Ausgabe nacht diesen Ordnern sortiert wird. Zuerst nach dem Jahr, danach Monat und Tag. Dies in Absteigender Form. Das obige Beispiel sollte also so aussehen:

Code:
2018-02-17
2018-02-14
2018-01-28
2018-01-27
2017-09-12
2013-01-28
Hoffe es ist verständlich ausgedrückt, ansonsten einfach Fragen. Anbei der Code um den es geht:

PHP-Code:
function directoryScan($dir) { 
    if (isset(
$dir) && is_readable($dir)) { 
        
$directionList = Array(); 
         
        
$dir realpath($dir); 
         
            
//$objects = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir,FilesystemIterator::SKIP_DOTS), RecursiveIteratorIterator::SELF_FIRST); 
        
$objects = new RecursiveDirectoryIterator($dirFilesystemIterator::SKIP_DOTS);
        
$x 0
        foreach(
$objects as $entry){     
            
$getpath str_replace($dir''$entry); 
            
$size ceil($entry->getSize()/1024); 
            
$changed date($entry->getMTime()); 
            
//Den Slash bei Anfang entfernen
        
$getpath substr($getpath1);
       
//Verzeichnis definieren für die Weiterverarbeitung
      
$listdir $dir.'/'.$getpath;
    
//Ausgabe
       
echo '<a href="archiv.php?opt=list_dir_img&imgdir='.$getpath.'" target="_self">'.$getpath.'</a><br/>';
        
$x ++; 
        } 
         
        
//return 0; 
    


Das Problem liegt allerdings daran dass $getpath zwar alles schön auflistet aber nicht sortiert. Die Ausgabe sollte nach Jahr, Monat und Tag sortiert sein.

Derzeit finde ich keinen Denkanstoss was mir weiterhelfen könnte. asort, arsort, sort, uksort, uasort schon alles probiert auch mit umwandlung von $getpath in ein Array, danach iwas mit uksort($getpath, 'strnatcmp')...

Weiss jemand von Euch vielleicht eine Lösung?

Gruss
Dominic
Mit Zitat antworten