[PHP] Liste dossier sous-dossier du repertoir

Résolu
Profil bloqué -  
 Profil bloqué -
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   Statut Membre Dernière intervention   171
 
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é
 
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