SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #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
  #2  
Alt 16.02.2018, 13:13:31
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: Sortieren von RecursiveDirectoryIterator?

Hallo und willkommwen hier im Forum.


Kleine Anpassungen nötig:
PHP-Code:
function directoryScan($dir) { 
    if (isset(
$dir) && is_readable($dir)) { 
        
$directionList = Array();          
        
$dir realpath($dir); 
         
        
$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);
            
$directionList[] = $getpath;
            
//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 ++; 
        } 
        
asort($directionList);
        foreach(
$directionList as $path) {
            echo 
'<a href="archiv.php?opt=list_dir_img&imgdir='.$path.'" target="_self">'.$path.'</a><br/>';
        }
    } 

__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3  
Alt 16.02.2018, 15:27:19
UwBe Inter UwBe Inter ist offline
Anfänger
 
Registriert seit: Feb 2018
Alter: 39
Beiträge: 3
AW: Sortieren von RecursiveDirectoryIterator?

Hallo vt186

Vielen Dank für den Ansatz.
Irgendwie war ich so lange dran dass ich komplett Vergass. Ich sehe auch erst jetzt dass ich bereits $directionList = Array(); zwar bereits vordefiniert aber nirgends eingesetzt/verwendet hab.

Deine Anpassungen war bereist meine Denkweise, hatte aber irendwo eine Blockade drin. Die zweite foreach-Schleife liess ich bisher aus.

Danke Dir für den Ansatz.
Werde auf diese Basis nun weiterfahren mit der Programmierung.

Gruss
Dominic
Mit Zitat antworten
  #4  
Alt 16.02.2018, 15:30:44
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: Sortieren von RecursiveDirectoryIterator?

Dominic,

wenn noch Fragen oder Problem, dann weißt Du ja jetzt wo Du Hilfe bekommst.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #5  
Alt 16.02.2018, 15:32:08
UwBe Inter UwBe Inter ist offline
Anfänger
 
Registriert seit: Feb 2018
Alter: 39
Beiträge: 3
AW: Sortieren von RecursiveDirectoryIterator?

Ja, natürlich. :)

Bevor ich frage versuche ich erst alles selber, lese mehrmals im Manual nach, schliesse Fehler anhand von Debugging aus und erst wenn es dann nicht mehr geht komm ich ins Forum.

Daher nicht wundern wenn es wenig Beiträge von mir gibt, ausser natürlich Antworten von mir um zu Helfen.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Datum sortieren wiesoname MySQLi/PDO/(MySQL) 2 09.02.2009 02:56:50
Mehrdimensionales Array sortieren MrLongbaugh PHP Grundlagen 10 06.03.2008 13:02:47
Verkettetes Array sortieren vbtricks PHP für Fortgeschrittene und Experten 2 07.03.2007 10:24:33
[MySQL] Tabelle sortieren groe PHP für Fortgeschrittene und Experten 4 27.07.2006 22:20:08
mehrdimensionales Array sortieren blaue-sau PHP Grundlagen 2 18.09.2003 22:02:15


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:35:18 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt