Sto cercando di rendere la funzione scandir();
oltre i limiti scritti, ho bisogno di più dell'alpha ordinamento che attualmente supporta. Devo ordinare i risultati scandir();
per essere ordinati per data di modifica.scandir() per ordinare per data modificata
Ho provato alcune soluzioni che ho trovato qui e alcune altre soluzioni da diversi siti Web, ma nessuno ha funzionato per me, quindi penso che sia ragionevole per me pubblicare qui.
Quello che ho provato finora è questo:
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;
}
Ma, questo non sembra funzionare per me, esso restituisce solo 3 risultati, ma deve restituire 16 risultati, perché ci sono 16 immagini nella cartella.
@dugi provare questo metodo. I nomi dei file in una singola directory dovrebbero essere unici. Pertanto, possono essere utilizzati come chiave. L'array viene quindi ordinato per valori (l'ora di modifica) e le chiavi (i nomi dei file) vengono restituite nell'ordine corretto. –
Provato e ha funzionato come un fascino. Grazie Ryoin. – Aborted
Funziona come un fascino! – BSQ