Dateien nach Modifikationsdatum sortieren

proloser

Erfahrenes Mitglied
Mit folgendem Script werden die Timestamps aller Dateien, die in der Datenbank sind ausgegeben.

PHP:
$res = mysql_query("SELECT * FROM `files`");
while($row = mysql_fetch_array($res)) {
     echo filemtime($path . $row['filename']);	
}

Nun möchte ich gerne die Dateien nach dem Modifikationsdatum sortieren. Wie stell ich das am besten an?

Gruß proloser
 
Zuletzt bearbeitet:
Schmeiss alle Timestamps in ein Array und sortiere ihn
PHP:
$res = mysql_query("SELECT * FROM `files`");
$timestamps = array();
while($row = mysql_fetch_array($res)) {
	$timestamps[$row['filename']] = filemtime($path . $row['filename']);    
}
asort($timestamps);
foreach($timestamps as $filename => $timestamp){
	echo "{$timestamp}: {$filename}"
}
 
Du könntest erst mal alle Dateien zusammen mit dem Modifikations-Timestamp als Index in ein Array schreiben. Das Array kannst du dann mittels sort oder rsort sortieren. Beispiel:

PHP:
$res = mysql_query("SELECT * FROM `files`");

$array = array();
while( $row = mysql_fetch_assoc($res) )
{
  $array[filemtime($path . $row['filename'])] = $row['filename'];
}

sort( $array, SORT_NUMERIC );

var_dump( $array );
 
Zurück