Bonsoir,
j’aurais voulu savoir comment faire, en php, pour afficher les fichiers et les trier par date de modification ?
Ca serait top si on pouvait lister tous les fichiers dans tous les dossiers. Mais comment faire ?
Exemple :
Dossier de base
–fichier1
–fichier2
–dossier1
±-fichierX
±-fichierY
–dossier2
±-fichierZ
Donnerai une liste tel que celle ci, classée par date :
fichier1 - 2009
fichierX - 2008
fichierY - 2005
fichier2 - 2003
fichierZ - 1999
Merci d’avance !
ti4444
Juillet 8, 2010, 3:51
2
Bonjour,
Il me semble qu’en php tu peux exécuter des commandes systemes avec l’instruction du même nom :
system ( )
Après ce n’est pas trop recommandé pour des raisons de sécurité et par défaut c’est désactivé de Php si je me souviens bien.
Il reste à savoir sur quel OS tu compte l’utiliser.
Merci jbou pour tes liens, m’enfin ça au pire … C’est pas comme si je savais pas faire, j’ai besoin de savoir comment trier par date, …
Pour le moment, j’ai un code semblable à celui-ci :
<html>
<head>
</head>
<body>
<?php
function aff($Fichiers) {
$date = array();
foreach($Fichiers as $fichier) {
$date[$fichier] = filemtime($fichier);
}
array_multisort($date, SORT_DESC);
foreach($date as $fichier => $date) {
echo $date.' -- '.$fichier.'<br />';
}
}
function scan($rep) {
$dir = opendir($rep);
$Fichiers = array();
if($dir) {
while (false !== ($f = readdir($dir))) {
if(is_file($rep.$f)) {
$Fichiers[] = $rep.$f;
}
if(is_dir($rep.$f) && $f!=".." && $f!="." ) {
$new_dir=realpath($rep.$f);
scan("$new_dir/");
}
}
}
aff($Fichiers);
}
scan("./");
?>
</body>
</html>
Hors, j’ai le tableau n’est pas trié, je ne sais pas quoi utiliser à la place de
array_multisort($date, SORT_DESC);
pour que mon tableau soit enfin trié en fonction du timestamp …
Merci de votre aide.