Próbuję uczynić funkcję scandir();
wykraczającą poza jej zapisane ograniczenia, potrzebuję czegoś więcej niż sortowanie alfa, które obecnie obsługuje. Muszę posortować wyniki scandir();
, aby posortować je według daty modyfikacji.scandir() do sortowania według daty modyfikacji
Wypróbowałem kilka rozwiązań, które znalazłem tutaj, oraz kilka innych rozwiązań z różnych stron internetowych, ale żaden z nich nie działał dla mnie, więc myślę, że to rozsądne, że mogę publikować tutaj.
Co próbowałem tak daleko jest taka:
function scan_dir($dir)
{
$files_array = scandir($dir);
$img_array = array();
$img_dsort = array();
$final_array = array();
foreach($files_array as $file)
{
if(($file != ".") && ($file != "..") && ($file != ".svn") && ($file != ".htaccess"))
{
$img_array[] = $file;
$img_dsort[] = filemtime($dir . '/' . $file);
}
}
$merge_arrays = array_combine($img_dsort, $img_array);
krsort($merge_arrays);
foreach($merge_arrays as $key => $value)
{
$final_array[] = $value;
}
return (is_array($final_array)) ? $final_array : false;
}
Ale to nie wydają się działać dla mnie, to zwraca tylko 3 wyniki, ale powinien wrócić 16 wyników, ponieważ istnieje 16 obrazy w folderze.
@dugi spróbować tej metody. Nazwy plików w jednym katalogu powinny być unikalne. Dlatego mogą być używane jako klucz. Tablica jest następnie sortowana według wartości (czasu modyfikacji), a klucze (nazwy plików) zwracane są we właściwej kolejności. –
Wypróbowałem to i zadziałało jak czar. Dzięki, Ryoin. – Aborted
Działaj jak czar! – BSQ