liste dossier + sous-dossier par date du dernier fichier ajouté.
Posté : 19 juil. 2015, 00:35
Bonjour.
Je tente de construire un code ... Sans succès
Je veux une liste exploitable pour un foreach qui listerai mes dossiers et sous-dossier, le tout trié par ordre du dernier fichier ajouté.
Vous pensez quoi de ça ?
Y-a-t-il plus simple ?
Sachant que c'est pas encore au point.
Le var_dump me renvoi pas grand chose
Bonne journée
Je tente de construire un code ... Sans succès
Je veux une liste exploitable pour un foreach qui listerai mes dossiers et sous-dossier, le tout trié par ordre du dernier fichier ajouté.
Vous pensez quoi de ça ?
Y-a-t-il plus simple ?
Sachant que c'est pas encore au point.
Le var_dump me renvoi pas grand chose
Code : Tout sélectionner
while ($rep = readdir($dir))
{
if($rep != '..' && $rep !='.' && $rep !='' && is_dir($loc.'/'.$rep) )
{
$sub_dir = opendir('./'.$loc.'/'.$rep);
while ($sub_rep = readdir($sub_dir))
{
if($sub_rep != '..' && $sub_rep !='.' && $sub_rep !='' && is_dir($loc.'/'.$rep) )
{
$sub_doc_list = array();
$last_up_time = '';
$sub_loc = './'.$loc.'/'.$rep.'/'.$sub_rep;
$sub_dir = opendir($sub_loc);
while ($file = readdir($sub_dir))
{
if($file != '..' && $file !='.' && $file !='')
{
$file_up_time = filemtime('./'.$loc.'/'.$rep.'/'.$sub_rep.'/'.$file);
if ($last_up_time == '' || $last_up_time < $file_up_time) {$last_up_time = $file_up_time;}
// La clé de l'array est la date du dernier fichier uploadé
$sub_doc_list[$last_up_time] = $sub_rep;
}
}
}
}
krsort($sub_doc_list);
// On invers l'array pour récup la date du sous-dossier.
$flip= array_flip($sub_doc_list);
// On construit la liste des dossiers et des sous dossier dans un array pour le foreach
$doc_list[$flip[0]] = array($rep => $sub_doc_list);
}
}
krsort($doc_list);
closedir($dir);