Affichage avec Select

Eléphant du PHP | 69 Messages

22 nov. 2010, 12:59

Bonjour Tout le monde,

J'arrive à me lister des noms de fichier qui sont dans un répertoire, mais j'aimerais qu'ils soit afficher dans un menu ou je pourrais faire un choix sur l'un d'eux.
<?php
$dir = "./images/flags/";


	// Ouvre un dossier bien connu, et liste tous les dossiers 
	 
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
            echo " " . $file . "\n";
        }


    }
}
?> 
<br>
       <select name="'$files'">';
       <option value='$file'>$file</option>";
       </select>
Mais j'arrete pas de tourner en rond et je bloque sur l'affichage que je souhaite

Merci d'avance pour votre aide.
Coucou
Suis pas là pour qu'on me code tout,
Suis là pour apprendre aussi :wink:
En fait, c'est vraiment dur, mais j'y arriverais :wink:

devlop78
Invité n'ayant pas de compte PHPfrance

22 nov. 2010, 15:10

Code : Tout sélectionner

<select name="'$files'">'; <?php $dir = "./images/flags/"; // Ouvre un dossier bien connu, et liste tous les dossiers if (is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { echo "<option value='$file'>$file</option>"; } } } ?> </select>
Non ?

Eléphant du PHP | 69 Messages

22 nov. 2010, 15:53

oh yes merci

J'avais des points à l'affichage de ma liste, j'ai corrigé un peu pour les enlever de la liste.
Ca donne ceci :
       <select name="'$files'">';
<?php
$dir = "./images/flags/";


        // Ouvre un dossier bien connu, et liste tous les dossiers
         
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
          if ($file != "." && $file != "..") {
             echo "<option value='$file'>$file</option>";
        }
        }
    }
}
?>
</select>
Maintenant il me reste à trouver pour les afficher par classement alphabetique :wink:

Encore merci devlop78
Suis pas là pour qu'on me code tout,
Suis là pour apprendre aussi :wink:
En fait, c'est vraiment dur, mais j'y arriverais :wink:

ViPHP
ViPHP | 5462 Messages

22 nov. 2010, 16:04

utilise glob ca sera plus simple

Eléphant du PHP | 69 Messages

22 nov. 2010, 16:08

La fonction
readdir() est censé afficher les noms dans l'ordre dans lequel ils sont enregistrés dans le système de fichiers.
??

Ca veut dire quoi ?
Qu'il va m'afficher les noms avec la date et l'heure à laquelle ils ont été mis dans mon dossier du ftp ??
En tout cas, si c'est ça, il me les affiches pas comme ça parce que ça reviendrait à ce qu'ils les affiches par ordre alphabétique.

C'est la seule fonction que j'ai pu voir pour mettre un ordre dans un affichage

Pour la fonction
glob()
j'ai vu que c'était que pour le mode local ??
Suis pas là pour qu'on me code tout,
Suis là pour apprendre aussi :wink:
En fait, c'est vraiment dur, mais j'y arriverais :wink:

ViPHP
ViPHP | 5462 Messages

22 nov. 2010, 16:10

La fonction
readdir() est censé afficher les noms dans l'ordre dans lequel ils sont enregistrés dans le système de fichiers.
??

Ca veut dire quoi ?
Qu'il va m'afficher les noms avec la date et l'heure à laquelle ils ont été mis dans mon dossier du ftp ??
oui par ordre de d'arriver dans le dossier
Pour la fonction
glob()
j'ai vu que c'était que pour le mode local ??
tu lis tes fichier en local donc c'est bon

Eléphant du PHP | 69 Messages

22 nov. 2010, 16:17

Re: Affichage avec Select

Message de stealth35 le 22 Nov 2010, 16:10

coucou a écrit:La fonction

readdir() est censé afficher les noms dans l'ordre dans lequel ils sont enregistrés dans le système de fichiers.

??

Ca veut dire quoi ?
Qu'il va m'afficher les noms avec la date et l'heure à laquelle ils ont été mis dans mon dossier du ftp ??



oui par ordre de d'arriver dans le dossier
Justement l'ordre d'arriver dans le dossier "images/flag" de mon ftp est l'ordre alphabétique et ça ne s'affiche pas comme ça
Voici un lien http://www.wgk-team.fr/index.php?option ... &Itemid=45

Pour
coucou a écrit:Pour la fonction

glob()

j'ai vu que c'était que pour le mode local ??


tu lis tes fichier en local donc c'est bon
Je ne suis pas en local, mais sur un serveur ftp
Suis pas là pour qu'on me code tout,
Suis là pour apprendre aussi :wink:
En fait, c'est vraiment dur, mais j'y arriverais :wink:

ViPHP
ViPHP | 5462 Messages

22 nov. 2010, 16:21

mais si t'es en local, tu va chercher les fichiers qui sont sur le meme serveur c'est ca du local

Eléphant du PHP | 69 Messages

22 nov. 2010, 16:23

:oops: ^^

Je vais regarder ça alors :?
Suis pas là pour qu'on me code tout,
Suis là pour apprendre aussi :wink:
En fait, c'est vraiment dur, mais j'y arriverais :wink:

Eléphant du PHP | 69 Messages

22 nov. 2010, 17:21

Je le fais des 2 façons et j'obtiens la même chose avec la fonction glob()
//EXEMPLE 1

       <select name="'$files'">';
<?php
$dir = "./images/flags/";


        // Ouvre un dossier bien connu, et liste tous les dossiers
         
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
          if ($file != "." && $file != "..") {
             echo "<option value='$file'>$file</option>";
        }
        }
    }
}
?>
</select>
<br>
<br>
<br>

//EXEMPLE 2 AVEC glob ()

       <select name="'$files'">';
<?php
$dir = "./images/flags/";


        // Ouvre un dossier bien connu, et liste tous les dossiers
         
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
          if ($file != "." && $file != "..") {
 $files = glob("./images/flags/*.gif");
 {
             echo "<option value='$file'>$file</option>";
        }
        }
    }
}
}
?>
</select>

voir ICI
Et j'arrive pas à avoir mon affichage par ordre alphabétique :cry:
Suis pas là pour qu'on me code tout,
Suis là pour apprendre aussi :wink:
En fait, c'est vraiment dur, mais j'y arriverais :wink:

ViPHP
ViPHP | 5462 Messages

22 nov. 2010, 17:26

avec glob ta pas besion de readdir et opendir

juste ca suffis :
$files = glob('./images/flags/*.gif');
natsort($files);

foreach($files as $file)
{
    echo "<option value=\"$file\">$file</option>";
}

Eléphant du PHP | 69 Messages

26 nov. 2010, 12:21

Coucou,

Merci j'avais bien noté ce code, mais j'ai un souci que je n'arrive pas à résoudre depuis
J'ai mes fichiers qui s'affichent par ordre alphabétique, mais j'ai également le nom du dossier ou il est, et je n'arrive pas à enlever les dossiers.

J'en suis à se code
       <select name="'$files'">';
<?php

$dir = "./images/flags/";
$files = glob($dir . '*.gif');

foreach($files as $file)
{
    echo "<option value=\"$file\">$file</option>";
}

?>
</select>

Merci
Suis pas là pour qu'on me code tout,
Suis là pour apprendre aussi :wink:
En fait, c'est vraiment dur, mais j'y arriverais :wink: