[PHP] Liste dossier sous-dossier du repertoir

Résolu/Fermé
Profil bloqué - 18 mai 2010 à 08:15
 Profil bloqué - 18 mai 2010 à 12:40
Bonjour à tous,

Voila, j'ai beau cherchez, je parviens pas a trouver un système permettant de faire la liste des dossier et sous dossier ... et ainsi de suite mais pas des fichiers, le but c'est dans mettre le résultat dans un form de sélection pour indiquez ou je vais envoyer mon upload d'image.

J'ai bien essayer scandir mais il s'arrête ou premier niveau de sous dossier et comme les fonction récursive et moi, cela donne un chiffre inconnue...

Merci de votre aide.
A voir également:

2 réponses

gaerebut Messages postés 1017 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 22 novembre 2013 171
18 mai 2010 à 12:13
Bonjour,

tu as bien compris qu'il s'agit de récursivité, en effet tu n'a pas le choix! lol
Utilise une fonction récursive (= qui s'appel elle même) et une boucle while();
De plus, essaye avec la fonction readdir (avec un @ devant au cas ou ça ne marche pas)

A+
gaerebut
0
Profil bloqué
18 mai 2010 à 12:40
De retour, d'une longue expéditions sur la toile, je vous livre la solutions trouvé par CrokNoks sur le Site du Zéro.

<form>
<select>
<?php
function glob_free($dir,$patern='*'){
	$tab='';
	if (is_dir($dir)) {
	    if ($dh = opendir($dir)) {
	        while (($file = readdir($dh)) !== false) {
				$ext=explode('.',$file);
				$ext=$ext[count($ext)-1];
	            if($ext==$patern || $patern=="*" && $file!='.' && $file!='..'){
					$tab[]=$dir.$file;
				}
	        }
	        closedir($dh);
	    }
	}
	return $tab;
}   
function get_tree($path = './'){
	if (substr($path,-1) !== '/')
		$path .= '/';
	$tree = '';
	$dirs = glob_free($path,'*');
	if(is_array($dirs))
	foreach ($dirs as $value){
		if(is_dir($value)){
			$tree .= '<option value="'.$value.'/">'.$value.'</option>';
			$tree.=get_tree($value.'/');
		}
	}
	return $tree;
}
    echo get_tree('images/');
?>
</select>
</form>


Voila l'adresse:
https://openclassrooms.com/forum/sujet/php-cree-une-liste-des-dossier-dans-une-liste-deroulante-36822

Cela permet de faire une liste automatique de tout les dossier présent dans le répertoire cible, et de l'inscrire dans un formulaire de sélection.
0