Lister un répertoire de dossiers
Fermé
rivka95
Messages postés
80
Date d'inscription
mardi 15 mars 2011
Statut
Membre
Dernière intervention
27 mars 2015
-
8 janv. 2014 à 10:56
rivka95 Messages postés 80 Date d'inscription mardi 15 mars 2011 Statut Membre Dernière intervention 27 mars 2015 - 9 janv. 2014 à 09:31
rivka95 Messages postés 80 Date d'inscription mardi 15 mars 2011 Statut Membre Dernière intervention 27 mars 2015 - 9 janv. 2014 à 09:31
A voir également:
- Lister un répertoire de dossiers
- Mettre un mot de passe sur un dossier - Guide
- Répertoire téléphonique gratuit - Télécharger - Bureautique
- Impossible de supprimer un dossier - Guide
- Liste déroulante de choix excel - Guide
- Comment faire un dossier pdf - Guide
5 réponses
Super_carotte
Messages postés
1418
Date d'inscription
mardi 8 janvier 2008
Statut
Membre
Dernière intervention
27 janvier 2015
127
8 janv. 2014 à 12:04
8 janv. 2014 à 12:04
as tu essayer avec une fonction récursive sur raddir ?
rivka95
Messages postés
80
Date d'inscription
mardi 15 mars 2011
Statut
Membre
Dernière intervention
27 mars 2015
8 janv. 2014 à 12:27
8 janv. 2014 à 12:27
Merci pour ta réponse, je découvre la fonction et je cherche en fonction de ce que tu me conseilles mais ne suis pas certaine de bien comprendre. Si tu peux me donner plus de détails...
Ci-après mon code pour plus de clarté :
$dir_nom = 'nom_du_dossier';
$dir = opendir($dir_nom) or die('Erreur de listage : le répertoire n\'existe pas');
$fichier= array();
$dossier= array();
while($element = readdir($dir)) {
if($element != '.' && $element != '..') {
if (!is_dir($dir_nom.'/'.$element)) {$fichier[] = $element;}
else {$dossier[] = $element;}
}
}
closedir($dir);
if(!empty($fichier)){
sort($fichier);
echo '<div class="style_css">Liste des fichiers '.$dir_nom.' :</div>';
echo "\t\t<ul>\n";
foreach($fichier as $lien) {
echo "\t\t\t<li><a href=\"$dir_nom/$lien \">$lien</a></li>\n";
}
echo "\t\t</ul>";
}
merci à toi !
Ci-après mon code pour plus de clarté :
$dir_nom = 'nom_du_dossier';
$dir = opendir($dir_nom) or die('Erreur de listage : le répertoire n\'existe pas');
$fichier= array();
$dossier= array();
while($element = readdir($dir)) {
if($element != '.' && $element != '..') {
if (!is_dir($dir_nom.'/'.$element)) {$fichier[] = $element;}
else {$dossier[] = $element;}
}
}
closedir($dir);
if(!empty($fichier)){
sort($fichier);
echo '<div class="style_css">Liste des fichiers '.$dir_nom.' :</div>';
echo "\t\t<ul>\n";
foreach($fichier as $lien) {
echo "\t\t\t<li><a href=\"$dir_nom/$lien \">$lien</a></li>\n";
}
echo "\t\t</ul>";
}
merci à toi !
mandolorien
Messages postés
109
Date d'inscription
dimanche 9 septembre 2012
Statut
Membre
Dernière intervention
9 mars 2018
3
Modifié par mandolorien le 8/01/2014 à 18:53
Modifié par mandolorien le 8/01/2014 à 18:53
coucou
mais je te conseille d'utiliser cette petite fonction si tu veux la listes des fichiers et sous dossier :
donc pour l'exemple :
si tu veux un exemple :)
http://www.nacatiks.com/ccm/p2/
Admire la personne qui te critique , car prisonniere de ca propre jalousie elle ne fais que t admirer
# le dossier que tu veux repertorier $dir_nom = '../../ccm/'; $dir = opendir($dir_nom) or die('Erreur de listage : le répertoire n\'existe pas'); # test d'existance $fichier= array(); # tableau des fichiers $dossier= array(); # tableau des dossiers //tant qu'il y a un fichier a lire while($element = readdir($dir)) { # $element c'est le nom du fichier mais il y a aussi le . et .. # donc si c'est differents de . et .. if($element != '.' && $element != '..') { # is_dir permet de savoir si c'est chemin relatif donc en gros # is_dir('a_file.txt') retourne faux # is_dir('..') retourne vrai if (!is_dir($dir_nom.'/'.$element)) { # on sais que c'est un fichier $fichier[] = $element; } else { # on sais que c'est un dossier $dossier[] = $element; } } } # on ferme le dossier d'ouverture closedir($dir); # si le fichiers ne sont pas vides if(!empty($fichier)) { # sort permet de trier les fichiers du plus petit au plus grand sort($fichier); echo '<div class="style_css">Liste des fichiers '.$dir_nom.' :</div>'; echo "\t\t<ul>\n"; foreach($fichier as $lien) { echo "\t\t\t<li><a href=\"$dir_nom/$lien \">$lien</a></li>\n"; } echo "\t\t</ul>"; }
mais je te conseille d'utiliser cette petite fonction si tu veux la listes des fichiers et sous dossier :
function ScanDirectory($Directory){ $MyDirectory = opendir($Directory) or die('Erreur'); while($Entry = @readdir($MyDirectory)) { if(is_dir($Directory.'/'.$Entry)&& $Entry != '.' && $Entry != '..') { echo '<ul>'.$Directory; ScanDirectory($Directory.'/'.$Entry); echo '</ul>'; } else { if($Entry!='.' && $Entry!='..') { echo '<li>'.$Entry.'</li>'; } } } closedir($MyDirectory); }
donc pour l'exemple :
ScanDirectory('adresse du dossier racine');
si tu veux un exemple :)
http://www.nacatiks.com/ccm/p2/
Admire la personne qui te critique , car prisonniere de ca propre jalousie elle ne fais que t admirer
rivka95
Messages postés
80
Date d'inscription
mardi 15 mars 2011
Statut
Membre
Dernière intervention
27 mars 2015
9 janv. 2014 à 07:44
9 janv. 2014 à 07:44
Merci beaucoup pour ces détails, c'est cool !
Je vais essayer, je te dirai ensuite...
Je vais essayer, je te dirai ensuite...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
rivka95
Messages postés
80
Date d'inscription
mardi 15 mars 2011
Statut
Membre
Dernière intervention
27 mars 2015
9 janv. 2014 à 08:37
9 janv. 2014 à 08:37
Une question mandolorien, cette fonction permet-elle l'accès aux dossiers et fichiers ou bien affiche t-elle seulement la liste ?
Moi je souhaite pouvoir accéder aux fichiers et dossiers.
Merci
Moi je souhaite pouvoir accéder aux fichiers et dossiers.
Merci
mandolorien
Messages postés
109
Date d'inscription
dimanche 9 septembre 2012
Statut
Membre
Dernière intervention
9 mars 2018
3
9 janv. 2014 à 09:22
9 janv. 2014 à 09:22
uniquement la liste ,
effectivement j'ai zappé le système de lecture , si j'ai bien compris , quand tu clique sur un dossier , ça te renvoi vers une page avec la liste des fichiers puis en cliquant sur un fichier tu voudrais avoir accès au contenue ?
effectivement j'ai zappé le système de lecture , si j'ai bien compris , quand tu clique sur un dossier , ça te renvoi vers une page avec la liste des fichiers puis en cliquant sur un fichier tu voudrais avoir accès au contenue ?
rivka95
Messages postés
80
Date d'inscription
mardi 15 mars 2011
Statut
Membre
Dernière intervention
27 mars 2015
9 janv. 2014 à 09:31
9 janv. 2014 à 09:31
T'as bien compris, c'est exactement ça ! le code que j'ai mis plus haut permet bien d'afficher la liste des fichiers contenus dans un dossier et d'en lire ou télécharger le contenu. En revanche, les sous-dossiers (et leurs contenus) ne sont pas détectés...