il cambio formato penso debba essere fatto dopo il multisort
non credo proprio.
Il multisort riordina gli array DOPO che sono stati popolati dei loro conteuti.
E' necessario prima definire i contenuti, comprese le date, e poi queste vengono riordinate assieme agli altri campi.
Ritengo più probabile che il problema sia altrove.
Il fatto è che con le ultime modifiche l'ordine viene fatto in base all'array $data, che non è più quindi anno/mese/giorno ma bensì giorno/mese/anno: quindi vengono ordinati per giorno, poi per mese, poi per anno, cioè con un ordine che non è cronologico.
La soluzione?
Usare un array di appoggio:
Codice PHP:
<?PHP
$dir="directory_immagini";
$d = dir($dir);
$i=0;
$z=0;
while ($entry = $d->read()) {
if($entry != "." && $entry != "..")
{
$i++;
$nome[$i]=$entry;
$ordine[$i]=date("YmdHis.", filectime($dir."/".$entry));
$data[$i]=date("d/m/Y H:i:s.", filectime($dir."/".$entry));
$url[$i]="<a href=\"$d->path/$entry\">".$entry."</a>
\n";
$max=$i;
}
}
array_multisort($ordine, SORT_DESC, SORT_NUMERIC, $data,$nome,$url);
//array_multisort($nome, SORT_DESC, SORT_NUMERIC, $data);
while ($z<$max )
{
echo $nome[$z]." ".$data[$z]." ".$url[$z]."
";
$z++;
}
?>