Ik zoek een script waarbij je bestanden in een directory kunt weergeven maar dan ook gesorteerd op naam of op datum.
Wat ik wil is, ik heb in een directory een aantal pdf's staan, hier wil ik af en toe een bij zetten. de pdf's hebben een naam zoiets als 101508.pdf waarbij de 10 voor de maand oktober staat etc.
Ik wil dus de bestanden op juiste volgorde weergeven.
<?php
$files = glob('directory/*.pdf'); // haal alleen pdf-bestanden op
$files = sort($files); //sorteer op naam
foreach($files as $file) { //weergeef bestanden
echo '<a href="directory/' . basename($file) . '">'.basename($file).'</a>';
}
?>
edit: http://nl3.php.net/manual/en/function.filemtime.php geeft weer wanneer een bestand aangemaakt is, misschien kan je dat gebruiken.
de functie sort geeft een integer terug (0 of 1), dus
<?php
sort($files);
foreach($files as $file) { ... }
?>
moet het wel doen. De functie natsort sorteert volgens het Natural Order algoritme, is hetzelfde aan te roepen als sort.
Om goed te kunnen sorteren op naam (in dit geval), moet je eigenlijk de elementen waaruit de naam is opgebouwd van volgorde veranderen.
het formaat is nu: mmddyy.pdf, als je hiervan zou maken yyyymmdd.pdf dan zou je wel makkelijk met sort() kunnen sorteren, en een volgorde krijgen die klopt.
<?php
$path = "directory";
$dir = opendir($path);
$resultaat = array();
while(next($array)){
if($file!='.' && $file!='..') {
$datum = str_split($dir, 2);
$jaar = '20'.array_pop($datum);
array_unshift($datum, $jaar);
$goedeDatum = implode('',$datum);
$resultaat[$goedeDatum] = $dir;
}
}
ksort($resultaat);
foreach($resultaat as $dir) {
echo '<a href="'.$file.'">'.$file.'</a>';
}
// nu is resultaat goed gesorteerd op datum.
?>
Ik heb zelfde probleem. Ben de hele middag al aan het klooien/zoeken etc, krijg het niet voor elkaar.
Ik gebruik zelfde script als in eerste post van remon. Mijn bestanden zijn ook .pdf en moeten gesorteerd worden op datum gewijzigd (last modified). Als dat te moeilijk is mag het ook op bestandsnaam gesorteerd worden, in dat geval worden de namen van de bestanden 2009-12_naambestand.pdf.