jibtothenight
Messages postés22Date d'inscriptionjeudi 13 mars 2008StatutMembreDernière intervention13 octobre 2008
-
17 sept. 2008 à 16:55
wytlyt -
31 mars 2013 à 16:48
Bonjour,
avec ce code j'arrive à afficher le contenu de mon dossier :
<?php
$dir = opendir('intranet/image_hd/');
while($file = readdir($dir)) {
echo "$file
";
}
closedir($dir);
?>
mais les sous-dossiers s'affichent comme des fichiers .
Je voudrais afficher l'arborescence de ces sous-dossiers si c'est possible
huberdine
Messages postés158Date d'inscriptionsamedi 8 février 2003StatutMembreDernière intervention17 juin 2010 17 sept. 2008 à 18:26
tu peux faire un peu de récursivité pour afficher l'arborescence.
La récursivité consiste à appeler une fonction qui va s'appeler elle même.
Ex ,pour parcourir des fichiers :
<?php
function parcours_dossier($chemin_dossier)
{
// On ouvre le dossier à lire
$dossier = opendir($chemin_dossier);
// On parcours l'ensemble des éléments présent dans le dossier
while($element = readdir($dossier))
{
// On ne s'occupe ni du répertoire courant ni du répertoire parent
if(($element != ".") && ($element != ".."))
{
// Si le fichier est un dossier
if(file_exists($chemin_dossier."/".$element) && is_dir($chemin_dossier."/".$element))
{
echo "dossier : ".$chemin_dossier."/".$element."
";
// On parcours les sous dossiers (c'est ici qu'intervient la récursivité car la fonction s'appelle elle-même)
parcours_dossier($chemin_dossier."/".$element);
}
else
{
echo "fichier : ".$chemin_dossier."/".$element."
";
}
}
}
closedir($dossier);
}
// On appelle la fonction de parcours des dossiers
parcours_dossier(".");
?>
huberdine
Messages postés158Date d'inscriptionsamedi 8 février 2003StatutMembreDernière intervention17 juin 2010 17 sept. 2008 à 18:37
>ou rentre tu le chemin du dossier de départ ?
à la dernière ligne du script :
parcours_dossier(".");
. signifie le répertoire courant (c'est à dire celui dans lequel se trouve le fichier php appelé)
Il suffit de remplacer le . par le chemin du répertoire que tu veux parcourir
j'utilise ce script que j'ai un peu adapté à mes besoins pour faire une galerie de photos, j'aimerai seulement que les sous-dossiers s'affichent par ordre alphabétique inversé, mais je ne vois pas où placer le rsort();
huberdine
Messages postés158Date d'inscriptionsamedi 8 février 2003StatutMembreDernière intervention17 juin 2010 18 sept. 2008 à 14:15
Tu cliques sur le bouton 'Réponse acceptée' à droite de la (ou les) réponse(s) qui te semble(nt) pertinente(s).
Cela marquera automatiquement le thread comme résolu.