lister les fichiers d'un dossier en php

atomikado
WRInaute discret
WRInaute discret
 
Messages: 159
Inscription: 22 Sep 2003

lister les fichiers d'un dossier en php

Message le Jeu Déc 14, 2006 14:47

Bonjour,

je voudrais savoir quelle fonction php je dois utiliser rpour lister les fichiers présents dans un dossier.

Merci !

Mikaël


e-kiwi
Modérateur
Modérateur
 
Messages: 15617
Inscription: 23 Déc 2003

Message le Jeu Déc 14, 2006 14:54

as tu cherché ne serais-ce que 3 secondes ? :)
google -> php lister repertoire

petit-ourson
WRInaute impliqué
WRInaute impliqué
 
Messages: 855
Inscription: 31 Mai 2004

Message le Jeu Déc 14, 2006 14:56



lothar
WRInaute passionné
WRInaute passionné
 
Messages: 1531
Inscription: 12 Juil 2003

Message le Mer Jan 31, 2007 22:37

Bonsoir,

j'essaie de lister les fichiers d'un répertoire via ce script:

Code: Tout sélectionner
<?php
$rep = "./";
$dir = opendir($rep);
$maxtop = 10;

while ($f = readdir($dir)) // lecture et tri par date de création
   if(is_file($rep.$f))
      for($k=1;$k<=$maxtop;$k++)
         if(filectime($rep.$f) > $toplk[$k][1]) {
            $s0 = filectime($rep.$f) ; $u0 = $f;
            for($kk = $k;$kk<=$maxtop;$kk++) {
               $s = $toplk[$kk][1] ; $u = $toplk[$kk][2];
               $toplk[$kk][1] = $s0 ; $toplk[$kk][2] = $u0;
               $s0 = $s ; $u0 = $u;
            }
            break;
         }
closedir($dir);

for($k=1;$k<=$maxtop;$k++) { // affichage
?><A href="<?php echo $rep.$toplk[$k][2];?>">
      <?php echo str_replace(".php","",$toplk[$k][2]);?>
   </A><br>
<?php } ?>


Les problèmes sont les suivants:
- comment éviter d'afficher le fichier index.php ?
- comment afficher le titre des pages plutôt que leur nom de fichier ?

Merci d'avance


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 8575
Inscription: 23 Nov 2005

...

Message le Mer Jan 31, 2007 22:47

... je te conseille davantage d'utiliser la fonction glob, qui liste les fichiers d'un dossier (avec possibiliter de filtrage), plutôt que les 15-20 lignes que tu as mis en exemple.

Concernant la lecture du titre, tu n'as pas le choix je pense, il va te falloir ouvrir chaque fichier un a un lors du parcours et récuperer le contenu de la balise title.


lothar
WRInaute passionné
WRInaute passionné
 
Messages: 1531
Inscription: 12 Juil 2003

Message le Mer Jan 31, 2007 23:07

Apparemment la fonction glob() a été désactivée chez mon hébergeur (SIVIT):

Warning: glob() has been disabled for security reasons in /home/local/apache/htdocs/sites/p/***/www/articles/index.php on line 106


Est-ce qu'il existe une solution vers laquelle je pourrais me tourner ?


e-kiwi
Modérateur
Modérateur
 
Messages: 15617
Inscription: 23 Déc 2003

Message le Jeu Fév 01, 2007 8:27

quelle horreur ce script, les noms de variables datent de la début de la programmation ^^

si tu avait suivi mon conseil, tu serai tombé sur :

http://www.asp-php.net/tutorial/asp-php/directory.php bien plus clair

en rajoutant dans la boucle :

$ext = explode(".", $f); pour avoir l extention du fichier, tu interdis l affichage du php :

if((is_file($rep.$f)) and ($ext != 'php')) {

:)


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 8575
Inscription: 23 Nov 2005

Message le Jeu Fév 01, 2007 10:06

e-kiwi a écrit:quelle horreur ce script, les noms de variables datent de la début de la programmation ^^


C'est clair que $kk, $s ou $uO, y'a plus clair comme nom de variables :-)


lothar
WRInaute passionné
WRInaute passionné
 
Messages: 1531
Inscription: 12 Juil 2003

Message le Jeu Fév 01, 2007 19:07

e-kiwi a écrit:quelle horreur ce script, les noms de variables datent de la début de la programmation ^^

si tu avait suivi mon conseil, tu serai tombé sur :

http://www.asp-php.net/tutorial/asp-php/directory.php bien plus clair

en rajoutant dans la boucle :

$ext = explode(".", $f); pour avoir l extention du fichier, tu interdis l affichage du php :

if((is_file($rep.$f)) and ($ext != 'php')) {

:)


Le script précédent venait pourtant d' ASP-PHP.net ...

Je vais regarder ça, merci.


e-kiwi
Modérateur
Modérateur
 
Messages: 15617
Inscription: 23 Déc 2003

Message le Ven Fév 02, 2007 8:58

pourtant, l url que je t'ai donné, je vois le script avec de vrais noms de variables. je sais pas d ou tu sors ce script :)

bigs32
WRInaute impliqué
WRInaute impliqué
 
Messages: 517
Inscription: 8 Mai 2006

Message le Dim Fév 04, 2007 12:51

voici le lien que j'ai trouvé
php afficher liste fichier dans un répertoire
http://fr.php.net/manual/fr/function.readdir.php
http://www.zone-webmasters.net/forum/sh ... php?tid=22


zerobug
WRInaute discret
WRInaute discret
 
Messages: 155
Inscription: 23 Nov 2007

Message le Dim Déc 16, 2007 11:10

Même si ce message est un peu vieux, voici ce que j'ai pu faire en PHP : http://www.zerobug.fr/liste-contenu-dos ... t-php.php3

Le script affiche automatiquement les fichiers exe, zip, doc, pdf et htm (on peu choisir les extension à lister ou non), leur poids et la date de mise en ligne et créé des liens afin de les télécharger (un document pdf par exemple ne sera pas ouvert mais automatiquement téléchargé).


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités