Om jag vill sortera en dir() hur gör jag då?
Jag tänkte man skulle kunna lägga in resultatet i en array och sortera den, MEN då kom jag på att det skulle ju va skoj om det gick att sortera efter datum och storlek också men då gick jag bet :)
Någon som kan hjälpa mig med att fixa detta?
MatteMedlem sedan aug. 20002 975 inlägg T.ex
$path = './katalog';
$files = array();
if ($handle = opendir($path)) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != ".." && !is_dir($path.'/'.$file)) {
$time = filemtime($path.'/'.$file);
$size = filesize($path.'/'.$file);
$files[] = array($file, $time, $size);
}
}
closedir($handle);
}
function cmp($a, $b) {
if ($a[1] == $b[1]) {
return 0;
}
return ($a[1] < $b[1]) ? -1 : 1;
}
usort($files, 'cmp');
foreach ($files as $val) {
echo $val[0].' - '.date("Y-m-d H:i:s", $val[1]).' - '.round($val[2] / 1024).' kB<br>';
}
Vill du sortera efter storlek så ändrar du 1 till 2 i arrayvariablerna i funktionen cmp.
Vill du ändra ordningen med högst värde först, så ändrar du < till > i samma funktion.