Classement fichiers par date! [Résolu]

abdellah1505 18 Messages postés samedi 6 janvier 2007Date d'inscription 6 décembre 2008 Dernière intervention - 22 juin 2007 à 21:56 - Dernière réponse : cs_mailys 7 Messages postés vendredi 30 avril 2004Date d'inscription 19 novembre 2008 Dernière intervention
- 16 nov. 2008 à 22:20
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 
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
audayls 373 Messages postés samedi 9 juillet 2005Date d'inscription 11 août 2008 Dernière intervention - 24 juin 2007 à 16:48
3
Merci
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)

Merci audayls 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 83 internautes ce mois-ci

Commenter la réponse de audayls
abdellah1505 18 Messages postés samedi 6 janvier 2007Date d'inscription 6 décembre 2008 Dernière intervention - 23 juin 2007 à 10:12
0
Merci
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.
Commenter la réponse de abdellah1505
abdellah1505 18 Messages postés samedi 6 janvier 2007Date d'inscription 6 décembre 2008 Dernière intervention - 5 mai 2008 à 17:31
0
Merci
[auteur/AUDAYLS/547458.aspx audayls] Merci ;)
Commenter la réponse de abdellah1505
cs_mailys 7 Messages postés vendredi 30 avril 2004Date d'inscription 19 novembre 2008 Dernière intervention - 16 nov. 2008 à 22:20
0
Merci
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
Commenter la réponse de cs_mailys

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.