Ich habe den Code aus
diesem Post von dir mal als Vorlage genommen. Da ich nicht genau weiß, ob du die Funktion ListFiles() auch noch anders nutzen willst (etwa anders sortieren), habe ich deine Funktionen als Grundlage für den Code genommen:
Code:
<?php
// Dateien nach Datum sortiert als Liste auslesen
$dir = './';
$files = ListFiles($dir, 'time');
// Dateien nach Jahren gruppiert ausgeben
$group_year = 0;
foreach ($files as $file) {
$file = $dir . $file;
$file_year = date('Y', filemtime($file));
if ($file_year <> $group_year) {
if ($group_year > 0) {
echo '
';
}
$group_year = $file_year;
echo $group_year . '
';
}
echo GetTitleFromHTML($file) . '
';
}
?>
Zum Testen des Scriptes hatte ich mir ein paar Dummyfunktionen geschrieben, wie du an meinem ListFiles siehst wird das Datum zum Sortieren mitgespeichert. Würde dies erhalten bleiben (was deine ja nicht macht soweit ich das sehen konnte), so kann man sich das spätere Auslesen sparen...
Code:
// --- [Start: Dummy Funktionen zum Test] -----------------------------------
function ListFiles($dir, $foo) {
$dh = opendir($dir);
$files_tmp = array();
while (($file = readdir($dh)) !== false) {
if (is_file($file)) {
$files_tmp[] = array(filemtime($dir . $file), $file);
}
}
arsort($files_tmp);
$files = array();
foreach ($files_tmp as $file){
$files[] = $file[1];
}
return $files;
}
function GetTitleFromHTML($file) {
return '[' . date('Y-m-d', filemtime($file)) . '] ' . basename($file);
}
// --- [Ende: Dummy Funktionen zum Test] ------------------------------------