Avatar billede tigertool Nybegynder
24. januar 2004 - 23:35 Der er 10 kommentarer og
1 løsning

Readdir sorter efter dato samt vis dato & tid

Jeg henter en liste over filer fra min (linux) server. Jeg henter listen sådan:

$files=array();
$dirname='/var/www';
$dir=opendir($dirname);
while($fil=readdir($dir))
if(is_file($dirname.'/'.$fil))array_push($files,$fil);
closedir($dir);

while($t<=count($files)){
echo '<br>'.$files[$t];
$t++;
}

Nu skal jeg så have vist dato + tiden og have dem sorteret sådan at den nyeste fil står øverst. Hvordan gøres dette?

Det eneste jeg kan finde på php.net er filesize() og den kan jeg ikke rigtigt bruge til noget.
Avatar billede htm Nybegynder
24. januar 2004 - 23:40 #1
Avatar billede tigertool Nybegynder
24. januar 2004 - 23:45 #2
jeg prøvede lige filectime jeg får denne fejl:

Warning: stat failed for (errno=2 - No such file or directory) in /var/www/test/readDir.php on line 10
Avatar billede detox Nybegynder
24. januar 2004 - 23:52 #3
Prøv sådan her:

<?php
$files=array();
$time=array();
$dirname='/var/www';
$dir=opendir($dirname);
while($fil=readdir($dir))
if(is_file($dirname.'/'.$fil)) {
    array_push($files,$fil);
    array_push($time, filemtime($fil));
}
closedir($dir);
asort($time);
foreach($time as $key => $val) {
echo '<br/>'.$files[$key].": ".date("d-m-Y H:i:s",$val);
}
?>
Avatar billede tigertool Nybegynder
24. januar 2004 - 23:55 #4
Får stadig samme fejl. Kræver det en speciel indstilling i php for at det virker?

Rettighederne er sat korrekt op på serveren - har lige checket.
Avatar billede tigertool Nybegynder
24. januar 2004 - 23:56 #5
hmm..
det ser ud til at det er pga undermapperne at jeg får de fejl
Avatar billede detox Nybegynder
24. januar 2004 - 23:56 #6
En lille smutter:

<?php
$files=array();
$time=array();
$dirname='/var/www';
$dir=opendir($dirname);
while($fil=readdir($dir))
if(is_file($dirname.'/'.$fil)) {
    array_push($files,$fil);
    array_push($time, filemtime($dirname.'/'.$fil));
}
closedir($dir);
asort($time);
foreach($time as $key => $val) {
echo '<br/>'.$files[$key].": ".date("d-m-Y H:i:s",$val);
}
?>
Avatar billede tigertool Nybegynder
24. januar 2004 - 23:56 #7
detox < bliver filerne sortetet udfra det script du postede?
Avatar billede detox Nybegynder
24. januar 2004 - 23:58 #8
Ja, de bliver sorteret med den ældste først med denne: asort($time);
Du kan få dem i omvendt rækkefølge med: arsort($time);
Avatar billede tigertool Nybegynder
25. januar 2004 - 00:00 #9
sejt nok.
detox smid lige et svar sådan at du kan få dine velfortjente points :P
Avatar billede detox Nybegynder
25. januar 2004 - 00:01 #10
Jeps ;o)
Avatar billede tigertool Nybegynder
25. januar 2004 - 00:08 #11
Takker :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester