slowMedlem sedan apr. 2004148 inlägg
Hej!
Går det att sortera mappar via det datum mappen skapades med PHP?
Kör en enkel scandir som sedan listar mappar i en speciell mapp. Dessa mappar skulle jag sedan vilja att senast skapad mapp hamnar överst. Går det? Har inte lyckats hitta någon lösning för detta...
MVH
Patrik
SuPeR_ToBBeMedlem sedan mars 2001180 inlägg
Enklaste sättet bör vara att använda filemtime för att kolla senaste ändringen tillsammans med usort för att sortera din array efter denna.
function my_sort($file1, $file2)
{
// Byt plats på 1 och -1 om du vill ändra sökordning,
// nu kommer senast ändrade först
return (filemtime($file1) < filemtime($file2)) ? 1 : -1;
}
// ... din scandir-funktion som skapar en array (kallar den $array här)
// Sortera
usort($array, 'my_sort');
slowMedlem sedan apr. 2004148 inlägg
Tack för ditt svar!
Vad ska jag skicka för info i $file1 och $file2?
Så här har jag gjort det hittils. Fungerar än så länge inte...
echo "<form name=\"images\">\n";
echo "<select name=\"images\" onChange=MM_jumpMenu('parent',this,0)>\n";
echo "<option value=\"".$siteurl."/?id=".$_GET['id']."\">Hämta album...</option>\n";
function my_sort($file1, $file2)
{
// Byt plats på 1 och -1 om du vill ändra sökordning,
// nu kommer senast ändrade först
return (filemtime($file1) < filemtime($file2)) ? 1 : -1;
}
// >> PHP VERSION CHECK AND FUNCTIONS
$version = phpversion();
$pversion = $version{0};
if($pversion == "5") {
$mappar = scandir($mapp);
} else {
$smapp = opendir($mapp);
while (false !== ($filnamn = readdir($smapp))) {
$mappar[] = $filnamn;
}
//sort($mappar);
usort($mappar, 'my_sort');
}
drewMedlem sedan mars 2007748 inlägg
Filnamnen, med sökväg om dom inte är i current dir.
/D
slowMedlem sedan apr. 2004148 inlägg
Men det är mappar, inte filer jag vill sortera...enbart mappar alltså...
sabbacusMedlem sedan juli 2002629 inlägg
filtrera ut katalogerna med is_dir()
http://se.php.net/is_dir
SuPeR_ToBBeMedlem sedan mars 2001180 inlägg
Jag borde varit tydligare med det: my_sort används bara av usort.
För att det ska funka även när scandir körs bör du lägga usort efter sista måsvingen (}) i din kod.