IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

lister les noms de dossier dans un menu déroulant [Fait]


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Points : 60
    Points
    60
    Par défaut lister les noms de dossier dans un menu déroulant
    Bonjour!

    Voilà j'ai 2 dossiers, un contenant des dossiers de langue (lang_fr, lang_en...)
    et l'autre contenant des dossiers de themes graphique (defaut, bleu, gum...)

    et je voudrai listé ces noms dans 2 menu deroulants differents

    Vous l'avez surement deviné, pour qu'un membre puisse choisir sa langue et son theme.

    Comment faire ?

    je suis novice, une bonne explication/demo serai le bienvenue

    merci d'avance

  2. #2
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut Re: [aide] listé les noms de dossier dans un menu deroulant
    Citation Envoyé par WeDgEMasTeR
    je suis novice, une bonne explication/demo serai le bienvenue
    Go to the tuto http://php.developpez.com/cours/

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 285
    Points : 300
    Points
    300
    Par défaut
    tiens...

    trouvé sur le manuel PHP, ca te mettra sur la voie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    $dir = "/tmp/php5";
     
    // Ouvre un dossier bien connu, et liste tous les fichiers
    if (is_dir($dir)) {
        if ($dh = opendir($dir)) {
            while (($file = readdir($dh)) !== false) {
                echo "fichier : $file : type : " . filetype($dir . $file) . "\n";
            }
            closedir($dh);
        }
    }
    ?>

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Points : 60
    Points
    60
    Par défaut
    ok jvais voir çà merci

  5. #5
    Membre éclairé Avatar de tigunn
    Homme Profil pro
    Développeur de bug
    Inscrit en
    Janvier 2003
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de bug

    Informations forums :
    Inscription : Janvier 2003
    Messages : 608
    Points : 658
    Points
    658
    Par défaut
    Salut,

    un autre petit bout de code pour lister tes fichiers :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    	$files=array();
    	$dossier=$target_path;
     
    	//test si $target_path est un chemin correct (= repertoire)
    	if (is_dir($dossier))
    	{
    		//chemin en entrée est correct
    		if ($handle=@opendir($dossier))
    		{
     
    			while (false!=($file=readdir($handle)))
    			{
    				$nom_complet=$dossier.$file;
    				//enleve les liens '.' et '..' du repertoire
    				if ( ($file!='.') && ($file!='..') )
    				{
    Après c'est du HTML avec <SELECT>

    bon dev

  6. #6
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Points : 60
    Points
    60
    Par défaut
    ok !

    Bah avec tous ca je vais surement y arriver !


    merci à tous !

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 285
    Points : 300
    Points
    300
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?php
    $dir = "/ton/dossier";
     
    // Ouvre un dossier bien connu, et liste tous les dossiers
    echo '<select name="dossiers">';
    if (is_dir($dir)) {
        if ($dh = opendir($dir)) {
            while (($file = readdir($dh)) !== false) {
                if (is_dir($file) && $file != '.' && $file != '..')
                    echo '<option value="'.$file.'">'.$file.'</option>'."\n";
            }
            closedir($dh);
        }
    }
    echo '</select>';
    ?>
    une toute petite modif du code sorti du manuel

  8. #8
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Points : 60
    Points
    60
    Par défaut
    bon je me suis inspiré du dernier code,

    dans le fichier ou sera afficher la liste deroulante, j'inclus un fichier functions.php, dans laquel j'ai mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    function makeList($dir, $name) {
    	// Ouvre un dossier bien connu, et liste tous les dossiers 
    	$res = "";
    	$res .= '<select name="'.$name.'">'; 
    	if (is_dir($dir)) { 
        	if ($dh = opendir($dir)) { 
            	while (($file = readdir($dh)) !== false) { 
                	if (is_dir($file) && $file != '.' && $file != '..') {
                    	$res .= '<option value="'.$file.'">'.$file.'</option>'."\n"; 
    				}
            	} 
            	closedir($dh); 
        	} 
    	} 
    	$res .= '</select>';
    	return $res;
    }
    Dans ma page ou sera affiché la liste, j'ai écris (a peu pres ca):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $theme_list	=	makeList("themes","user_theme");
     
     
    echo $theme_list;

    les <select> saffiche mais sans <option>

    c'est quoi le problème ?

  9. #9
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Points : 60
    Points
    60
    Par défaut
    C'est bon!

    Voilà la fonction que j'ai écrites :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    function makeList($dir, $name) {
    	// Ouvre un dossier bien connu, et liste tous les dossiers 
     
    	$files	=	array();
    	$res	=	"";
    	$handle = opendir($dir);
    	while($file = readdir($handle)) {
       	 if($file != "." && $file != "..") {
            $files[] = $file;
       	 }
    	}
    	closedir($handle);
     
    	natsort($files); // Tri du tableau
    	$res	.=	'<select name="'.$name.'">';
    	foreach($files as $v) {
    	    $res	.=	"<option value='".$v."'>".$v."</option>";
    	}
    	$res	.=	'</select>';
     
    	return $res;
    }

    sa marche impecablement !

  10. #10
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    a noter que sous php5, on peut utiliser l'objet DirectoryIterator de la librairie SPL
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    <?php
    /**
     * affiche une boite de selection
     * contenant tous les repertoires presents dans
     * le repertoire passe en parametre
     * @param mixed $it Objet DirectoryIterator
     * @param string $name Nom du select
     */
    function afficheSelect($it,$name) {
     
       echo "<select name=\"$name\">\n";
     
       // pour chaque entree du repertoire
       for( ; $it->valid(); $it->next()) {
     
          // si c'est un repertoire et si ce n'est pas "." ou ".."
          if($it->isDir() && !$it->isDot()) 
             printf("\t<option value=\"%s\">%s</option>\n", $it->getFilename(), $it->getFilename());
     
       }
     
       echo "</select>\n";
    }
     
    ?>
    <html>
    <head>
    <title>test js</title>
    </head>
    <body>
     
    <?php
    afficheSelect(new DirectoryIterator('/var/www/html/'),'select1');
    ?>
     
     
    </body>
    </html>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lister les noms de fichiers présents dans un dossier FTP
    Par nico1214 dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 27/05/2009, 10h36
  2. Lister fichiers et sous répertoire dans un menu déroulant
    Par WeDgEMasTeR dans le forum Langage
    Réponses: 8
    Dernier message: 23/05/2008, 16h48
  3. Réponses: 3
    Dernier message: 10/03/2008, 22h04
  4. Caracteres speciaux dans les noms de dossiers/fichiers
    Par Delphy113 dans le forum Administration système
    Réponses: 1
    Dernier message: 27/02/2007, 18h50
  5. Lister les fenêtres MDI ouvertes dans un menu
    Par say dans le forum C++Builder
    Réponses: 10
    Dernier message: 21/11/2005, 11h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo