12. februar 2009 - 16:34
Der er
5 kommentarer og 1 løsning
Omvendt sortering af readdir
Hey. Jeg har et meget simpelt script som viser alle filerne i en mappe på min ftp. Det ser ud som følgende: $count = 0; if ($handle = opendir('./uploads')) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") {$count++; print("<a href=\"".$file."\">".$file."</a><br />\n"); } } echo '<br /><br /><a href="..">Return</a>'; closedir($handle); } Lige nu sorterer den filerne efter dato, men den nyeste er nederst? Jeg vil gerne have, at den nyeste uploadet fil, er den øverste. Og så lige et tillægsspørgsmål: Hvordan gør jeg, så at scriptet kun viser de 10 nyeste filer?
Annonceindlæg fra DE-CIX
12. februar 2009 - 18:42
#3
noget a la: $count = 0; if ($handle = opendir('./uploads')) { $files = array(); while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") {$count++; $files[] = $file; } } echo '<br /><br /><a href="..">Return</a>'; closedir($handle); for($i = count($files)-1; $i >= count($files)-10 && $i >= 0; $i--) { print("<a href=\"".$files[$i]."\">".$files[$i]."</a><br />\n"); } }
12. februar 2009 - 20:07
#6
Alternativt if ($handle = opendir('./uploads')) { $files = array(); while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") $files[] = "<a href=\"".$file."\">".$file."</a>"; } closedir($handle); echo '<br /><br /><a href="..">Return</a>'; echo implode( "<br>\n", array_reverse( $files ) ); } :D