kostenloser Webspace werbefrei: lima-city


Nach Datum Sortieren

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    onur-yavuz

    onur-yavuz hat kostenlosen Webspace.

    Ich verwende zur Zeit folgenden Code um Dateien aus einem Ordner anzuzeigen:
    <?php
    $ordner = "files";
    $alledateien = scandir($ordner);
    foreach ($alledateien as $datei) {
        $dateiinfo = pathinfo($ordner."/".$datei); 
        if ($datei != "." && $datei != "..") {
        ?>
        <p><?php echo $dateiinfo['filename']; ?></p>
    <?php
        };
    };
    ?>


    Dabei werden alle Dateien von A bis Z sortiert. Wie sortiert man die Dateien jetzt nach Datum?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Hol dir die Zeit mit
    filemtime()
    , speicher alles in ein Array und sortier dieses dann.
  4. j*********b

    Du kannst das Datum zu jeder Datei auch in einer Datenbank speichern und damit weiterarbeiten
  5. t**********r

    julianhabib schrieb:
    Du kannst das Datum zu jeder Datei auch in einer Datenbank speichern und damit weiterarbeiten

    Ähhm, ja kann man, wird aber niemand machen. hackyourlife sagte es, um die Dateien nach Änderungsdatum zu sortieren, benutze filemtime(), siehe PHP Manual: http://php.net/manual/en/function.filemtime.php.
  6. Hallo

    du hast auch ein paar Strichpunkte zuviel ... nach } kommt normal kein Semikolon.

    hier das ganze als Beispiel mit Funktion und Ausgabe

    <?php 
    // ----------------------------------------------------------------- 
    // ----------------------------------------------------------------- 
    // ----- Funktion ------ get_files_sorted() ------------------------ 
    // ----------------------------------------------------------------- 
    // ----- 1.Argument: Ordner / Pfad ... (wo die Dateien liegen) ----- 
    // ----- 2.Argument: DESC oder ASC ... (ab- oder auf-steigend) ----- 
    // ----------------------------------------------------------------- 
    
    function get_files_sorted($ordner='.', $sort='DESC') {
    	
    	$alle_dateien = scandir($ordner);
    	$data_dateien = array();
    	$data_sortkey = array(); 
    	
    	foreach ($alle_dateien as $datei) { 
    		
    		if ($datei != '.' && $datei != '..') { 
    			
    			$dateiinfo = pathinfo($datei); 
    			$file_date = filemtime($ordner.'/'.$datei); 
    			$file_name = $dateiinfo['filename']; 
    			
    			$data_dateien[] = array(
    				'file' => $ordner.'/'.$datei, 
    				'name' => $file_name, 
    				'zeit' => $file_date, 
    				'date' => date('Y-m-d H:i:s',$file_date), 
    			);
    			
    			$data_sortkey[] = $file_date; 
    		}
    	}
    	
    	
    	if ($sort == 'ASC') {  // ---- Sortierung aufsteigend --- 'ASC' --- alte zuerst ---- 
    		array_multisort($data_sortkey, SORT_ASC, SORT_NUMERIC, $data_dateien); 
    	}
    	
    	
    	if ($sort == 'DESC') {  // ---- Sortierung absteigend --- 'DESC' --- neue zuerst ---- 
    		array_multisort($data_sortkey, SORT_DESC, SORT_NUMERIC, $data_dateien); 
    	}
    	
    	
    	return $data_dateien; 
    }
    
    
    // ----------------------------------------------------------------- 
    // -----------------------------------------------------------------
    
    
    print "<br />\n"; 
    print "<br />\n"; 
    print "<br />\n"; 
    
    
    
    // ------------------------------------------------------- 
    // ------ Aufruf der Funktion ------ 
    
    
    $meinordner = 'test1';  // ---- hier den relativen Pafd angeben (Ordner-Name) 
    
    $sortierung = 'DESC';   // ---- hier DESC oder ASC angeben (ab-/auf-steigend)
    
    
    $meine_daten = get_files_sorted($meinordner,$sortierung);  
    
    
    
    // ------------------------------------------------------- 
    // ------ print Ausgabe der Array-Daten ------ 
    
    $n=1; 
    
    foreach($meine_daten as $fdaten) { 
    	print "<p>Nr: ".$n." --- Datum: ".$fdaten['date']." --- Datei: ".$fdaten['file']." --- Name: ".$fdaten['name']."</p>\n"; 
    	$n++; 
    }
    
    
    
    // ------------------------------------------------------- 
    // ------ DEBUG Ausgabe der Array-Daten ------ 
    
    print "<br />\n"; 
    print "<br />\n"; 
    print "<br />\n"; 
    
    print "<pre style=\"margin:10px 4px; padding:4px; text-align:left; color:#000066; background:#DEDEDE;\">\n"; 
    print_r($meine_daten); 
    print "</pre>\n"; 
    
    print "<br />\n"; 
    print "<br />\n"; 
    print "<br />\n"; 
    
    
    // ---------------------------------------------------------------- 
    ?>



    ich hoffe das hilft weiter :)




    Beitrag zuletzt geändert: 11.9.2013 14:24:26 von tweetbox
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!