:: Easy-Script.com :: Index du Forum

Votre bannière ici !

 FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres   Groupes d'utilisateursGroupes d'utilisateurs   S'enregistrerS'enregistrer 
 RSS : Les 20 dernières discussions des forums d'Easy-Script.nom RSS   ProfilProfil   Messages PrivésMessages Privés   ConnexionConnexion 

Poster un nouveau sujet  Répondre au sujet
modifier un script qui liste un dossier!
abdellah63


Inscrit le: 24 Fév 2007
Messages: 8
Répondre en citant
Bonjour,

j'ai trouvé un script qui permet de lister un dossier et de donné les info suivante:
lien vers le fichier
Taille :
Création :
alors voila je voulais juste vous demander si il est possible de modifier ce code pour qu'il affiche que les 3 derniers fichiers ajouté au lieu d'afficher tous les fichiers
le code :
Code:

<?php
$rep = "mon dossier";
$dir = opendir($rep);

function dd($date) {
return date("d/m/Y H:i:s",$date);
}
while ($f = readdir($dir)) {
if(is_file($rep.$f)) {

echo '<li><a href="http://monsite.com/mon dossier/'.$f.'">'.$f.'</a></li>';
echo "<li>Taille : ".filesize($rep.$f)." octets";
echo "<li>Création : ".dd(filectime($rep.$f));
echo "<br><br>";
}
}
closedir($dir);
?>

voila je vous dit merci en avance
Voir le profil de l'utilisateurEnvoyer un message privé
Redox
Modérateurs
Modérateurs

Inscrit le: 07 Sep 2004
Messages: 973
Répondre en citant
Salut,

Il te suffit de créer un tableau multidimensionnel dans lequel tu insères les données de tous les fichiers du répertoire en question.

Exemple :

Code:
            while ($object = readdir($dir_handle))
                if (!in_array($object, array('.','..')))
                {
                    $filename    = $dir . $object;
                    $file_object = array(
                                            'name' => $object,
                                            'size' => filesize($filename),
                                            'type' => filetype($filename),
                                            'time' => date("d F Y H:i:s", filemtime($filename))
                                        );
                    $dir_objects[] = $file_object;
                }

            return $dir_objects;


Tu le tries en fonction de time avec la fonction sort()

Et ensuite tu affiches tes résultats...

Voir le profil de l'utilisateurEnvoyer un message privé
abdellah63


Inscrit le: 24 Fév 2007
Messages: 8
Répondre en citant
Merci bcp Mr Redox t'es trop fort! Applause je vais faire ca toute suite Merci encore
Voir le profil de l'utilisateurEnvoyer un message privé
abdellah63


Inscrit le: 24 Fév 2007
Messages: 8
Répondre en citant
ca ne marche pas je sais que normalement ca doit marcher mais c'est moi qui suis trop nul je l'aisse tombé
Voir le profil de l'utilisateurEnvoyer un message privé
Redox
Modérateurs
Modérateurs

Inscrit le: 07 Sep 2004
Messages: 973
Répondre en citant
Montres nous ton code pour que l'on essaie de voir ce qui 'cloche' ! Au passage, au lieu dire que cela ne marche pas, dis nous précisément ce qui se passe et s'il y a une erreur qui est généré affiche là ici !
Voir le profil de l'utilisateurEnvoyer un message privé
abdellah63


Inscrit le: 24 Fév 2007
Messages: 8
Répondre en citant
salut,

bon bah j'ai reussi a lister les 3 fichiers qui ce trouve dans mon dossier mais ils ne sont pas classer du plus récent au plus ancien

voici mon code :

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 '<a href="www.monsupersite.com/mondossier'.$fichier.'">'.$fichier.'</a><br />';
}
?>

 

voila merci bien de me dire ce qu'il faut ajouter et ou ajouter
Voir le profil de l'utilisateurEnvoyer un message privé
abdellah63


Inscrit le: 24 Fév 2007
Messages: 8
Répondre en citant
j'ai essai ca pour regler le probleme de classement par date mais rien n'ai fait
d'oh!

PHP:
<?php
             
foreach ($good as $ctime => $fichier)
             
?>
Voir le profil de l'utilisateurEnvoyer un message privé
Redox
Modérateurs
Modérateurs

Inscrit le: 07 Sep 2004
Messages: 973
Répondre en citant
Tu ne suis pas ce que je t'ai donné comme info ! Essaie avec ce code :

Code:
<?php
$dossier = 'ton-dossier/';
$dir = opendir($dossier);

//le nombre de derniers éléments à afficher :
$n = 3;

while ($object = readdir($dir))
   {
   if ($object != "." && $object != "..") {

   $filename = $dossier . $object;
   $file_object = array(
         'time' => filemtime($filename),
         'name' => $object,
         'size' => filesize($filename)
                                        );
                    $dir_objects[] = $file_object;
                }
   }

array_multisort($dir_objects, SORT_DESC);
array_splice($dir_objects,$n);

for($i=0;$i<count($dir_objects);$i++)
      {
      echo $dir_objects[$i][name].' ('.date("d F Y H:i:s", $dir_objects[$i][time]).')<br>';
      }
?>


Voir le profil de l'utilisateurEnvoyer un message privé
abdellah63


Inscrit le: 24 Fév 2007
Messages: 8
Répondre en citant
Merci Redox Pray je vai essayé ca

il marche tres bien ton code Applause Merci
Voir le profil de l'utilisateurEnvoyer un message privé
Annonces && Topic Scooping
[Résolu] modifier un script qui liste un dossier!
Vous pouvez poster de nouveaux sujets dans ce forum
Vous pouvez répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum
Toutes les heures sont au format GMT + 2 Heures  
Page 1 sur 1  

  
  
 Poster un nouveau sujet  Répondre au sujet  


Powered by phpBB © 2001, 2002 phpBB Group
Traduction par : phpBB-fr.com
Design by Vjacheslav Trushkin
phpBB SEO

Anti Bot Question MOD - phpBB MOD against Spam Bots
Inscriptions / messages bloqués: 2606 / 609