webForumDet fria alternativet
Logga in / Bli medlem

Sortera mappar

PHP

3 svar · 244 visningar · startad av fiddler

Medlem sedan juli 20023 617 inlägg
Trådstart#1

PHP-lärandet fortsätter... :)

Jag läser in mappar och listar dem med följande kod:

$dir="upl/";
      if ($handle = opendir($dir)) { 
         while (false !== ($file = readdir($handle))) { 
               if ($file != "." && $file != ".." && is_dir($dir.$file)) { 
                  echo "<li><a href='galleri.php?galleri=$file'>$file</a>"; 
               } 
         } 
         closedir($handle); 
      }

Min fråga är om det på något sätt går att få mapparna sorterade efter datum?

Medlem sedan dec. 2003153 inlägg
#2

Vilket sorts datum vill du sortera efter?
fileatime -- Gets last access time of file
filectime -- Gets inode change time of file
filemtime -- Gets file modification time

Lägg datum och fil-/katalognamnen i en array och sortera den med någon *sort(), beroende på hur du väljer att bygga din array.

Medlem sedan juni 2002346 inlägg
#3

testa det här.

<?php
$dir = ".";
$mydir = opendir($dir);

$directories = array();
while (false !== ($fn = readdir($mydir)))
{
   if (is_dir($fn) && $fn != "." && $fn != "..") 
   {
       $directory = getcwd()."/$fn";
       $key = date("Y\-m\-d\ H:i:s ", filectime($directory));
       $directories[$key] = $directory;
   }
}

ksort($directories);
$chrondir = array();
$chrondir = array_reverse($directories);

while (list($key, $directory) = each($chrondir)) {
   echo "$key - $directory<br />";
}

?>
Medlem sedan juli 20023 617 inlägg
#4

Tack för era svar!
Era förslag fungerar utmärkt så länge jag inte ändrar något i mapparna. Jag skulle vilja ha mapparna sorterade efter i vilken ordning de skapades.
Det hela ingår i ett galleri-skript där varje mapp representerar ett nytt galleri. Så fort jag laddar upp en bild ändras tiden till aktuell.

Jag ska experimentera lite mer och återkommer säkert med frågor. Tack för hjälpen! :)

270 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
141 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)