Classement fichiers par date!

[Résolu]
Signaler
Messages postés
18
Date d'inscription
samedi 6 janvier 2007
Statut
Membre
Dernière intervention
6 décembre 2008
-
Messages postés
7
Date d'inscription
vendredi 30 avril 2004
Statut
Membre
Dernière intervention
19 novembre 2008
-
Bonsoir,

j'ai un code php qui permet de lister 3 fichiers qui ce trouve dans un dossier et je voulais savoir si il est possible de trier ses 3 fichiers par date enfaite j'aimerai que le script me liste les 3 derniers fichiers ajouté dans ce dossier.

voici mon code :

<?php


$dir = 'mondossier/';


//le nombre de derniers éléments à afficher :


$n = 3;


$good = array();


if($dir[strlen($dir)-1] !== '/') $dir .= '/';


$o = opendir($dir);


$i = 0;


while(($file = readdir($o)) !== false) {


$ext=explode(".",$file);


if($ext[1]=='zip') {


                if($i < $n) $good[] = $file;


                $i++;


        }


}


//contient tous les bons fichiers


foreach($good as $fichier)


{


    echo '[www.monsupersite.com/mondossier'.$fichier.' '.$fichier.']
';


}


?>

j'ai ajouter ceci
foreach ($good as $ctime => $fichier)  mais rien ne change
Merci d'avance 

4 réponses

Messages postés
373
Date d'inscription
samedi 9 juillet 2005
Statut
Membre
Dernière intervention
11 août 2008

Salut,
"Je n'ai pas pris la peine d'apprendre le PHP" Han pas bien XD Qu'es que tu fiches içi alors ? mdr
Bon je te file quand même ton code mis à jour (et oui je sais je suis gentils XD), mais lis quand même les commentaires
<?php
$dir = 'mondossier/'; // Dossier à analyser.
$limit = 3; // Limite de fichier à présenter.

$files = array();
if (substr($dir, -1, 1) !== '/') $dir .= '/'; // On vérifie que le dernier caractère de la chaîne "$dir" soit un "/" sinon on en ajoute un.
if (is_dir($dir) AND ($dh = opendir($dir)) !== FALSE) { // On vérifie que la variable "$dir" indique un dossier et on l'ouvre dans la variable "$dh".
    $i = 0;
    while (($file = readdir($dh)) !== FALSE) { // On lit chaques fichiers.
        $temp = explode('.', $file); // On "explose" le nom du fichier pour chaques "." trouvés.
        if (end($temp) === 'php' AND $i < $limit) { // On vérifie que le dernier texte soit "zip" et on vérifie que la limite ne soit pas dépasser.
            $files[filemtime($dir.$file)] = $file; // On place le fichier dans le tableau "$files" avec pour clé le Timestamp de la dernière modification du fichier.
            $i++; // On ajoutes 1 à la variable "$i".
        }
    }
    closedir($dh); // Quand le dossier a été lu, on le referme.
}
sort($files); // On trie les fichiers par leur clés.
$temp = array_keys($files); // On extrait les clés du tableau "$files" pour les placer en valeurs dans le tableau "$temp".
$i = -1;
while (isset($temp[++$i])) echo '[www.monsupersite.com/',$dir,$files[$temp[$i]],' ',$files[$temp[$i]],']
';
?>

For every choice, a consequence (Fable)
Messages postés
18
Date d'inscription
samedi 6 janvier 2007
Statut
Membre
Dernière intervention
6 décembre 2008

Bonjour,

Je n'ai pas pris la peine d'apprendre le PHP alors (SVP ne m'engueulez pas) :) vu que je n'ai connai rien j'aurais tout de même une question ou est-ce que il faut ajouté ce fameu filemtime($fichier) dans mon code pour avoir un classement du plus récent au plus ancien upload? j'ai tout essayé a chaque fois la page devient toute blanche svp aidez moi Merci.
Messages postés
18
Date d'inscription
samedi 6 janvier 2007
Statut
Membre
Dernière intervention
6 décembre 2008

[auteur/AUDAYLS/547458.aspx audayls] Merci ;)
Messages postés
7
Date d'inscription
vendredi 30 avril 2004
Statut
Membre
Dernière intervention
19 novembre 2008

Bonjour,
Je suis très intéressé par ce code mais j'ai besoin d'explorer tous les sous-dossier du dossier en question. Quelqu'un pourrait me proposer un code ?
Merci beaucoup.
Mailys