[réglé] Comment afficher dans une listbox le contenu d'un repertoire.

Comment afficher dans une listbox le contenu d'un repertoire. [réglé] - PHP - Programmation

Marsh Posté le 14-10-2009 à 17:51:18    

Bonjour,
 
voila mon probleme, je seche completement. J'ai un formulaire de mise à jour, et j'aimerais pouvoir afficher le nom des images contenu dans un dossier, le tout dans une listbox.  
De cette façon, je pourrais selectionner l'image que je souhaite au travers de la listbox et faire un petit update.
 
Mais comme mes connaissance et php sont assez limité (insertion sql, update et delete), je seche...
 
Merci d'avance à celui qui me trouve un ti bout de code.  :hello:


Message édité par fscalda le 14-10-2009 à 18:00:32
Reply

Marsh Posté le 14-10-2009 à 17:51:18   

Reply

Marsh Posté le 14-10-2009 à 17:56:07    

Envoye moi ton email en message privé et je bricolerai un truc si tu veux ;)

Reply

Marsh Posté le 14-10-2009 à 17:59:10    

Merci frano9, mais je crois que je viens de trouver  :)  

Code :
  1. <select name="listeDir">
  2. <?php
  3. $rep ='upload/';
  4. if (!is_dir ($rep)) {
  5.     echo 'Erreur, ', $dir,' n\'est pas un repertoire valide';
  6.     exit;
  7. }
  8. $dir = opendir ($rep);
  9.         while (false !== ($fichier = readdir ($dir))) {
  10.             if ($fichier !== '..' && $fichier !== '.') {
  11.                 echo '<option value="',$fichier,'">',$fichier,'</option>';
  12.             }
  13.         }
  14. ?>
  15. </select>

Reply

Marsh Posté le 14-10-2009 à 18:00:16    

Allez, comme je viens de trouver, je vais crée un nouveau topic avec un probleme qui me prend la tête depuis 2 jours.

Reply

Marsh Posté le 14-10-2009 à 18:01:31    

Salut,
 
Essayes plus ou moins ça, je ne sais pas si ça va marcher du premier coup, essaye de comprendre/debugger (rien de sorcier là dedans) et si quelque chose ne va pas n'hésite pas à poser d'autres questions :

Code :
  1. <select name="image">
  2. <?php
  3. $d = dir("/mondossier/quicontient/lesimages" );
  4. while (false !== ($entry = $d->read()))
  5. {
  6.   if ('.' !== $entry && '..' != $entry)
  7.   {
  8.   ?>
  9.      <option value="<?php echo $entry; ?>"><?php echo $entry; ?></option>
  10.   <?php
  11.   }
  12. }
  13. $d->close();
  14. ?>
  15. </select>


 
Edit : OK, pu la peine  [:grilled]


Message édité par Tirkyth le 14-10-2009 à 18:02:29

---------------
Mon Feedback !
Reply

Marsh Posté le 14-10-2009 à 18:53:14    

Si si, c'est la peine, énorme débutant devant l'eternel grand php, je regarde et j'essaie de comprendre, mais c'est pas gagné...

Reply

Marsh Posté le 15-10-2009 à 10:09:05    

La méthode que je t'ai donné fait la même chose que celle que tu as trouvé, mais en "orienté objet".
 
Au lieu d'utiliser opendir() qui te renvoit $dir, puis d'utiliser readdir() dessus et à la fin closedir(), tu utilises la fonction dir() qui te renvoit un objet de type Directory.
Ensuite tu utilise les méthodes de l'objet directement.

Code :
  1. // procédural
  2. $dir = opendir($rep); // ouvre le répertoire
  3. $entry = readdir($rep); // lit une entrée
  4. closedir($rep); // ferme le répertoire
  5.  
  6. // objet
  7. $d = dir($rep); // ouvre le répertoire et créé un objet Directory servant à manipuler ce répertoire
  8. $entry = $d->read(); // lis une entrée
  9. $d->close(); // ferme le répertoire


---------------
Mon Feedback !
Reply

Marsh Posté le 15-10-2009 à 11:54:00    

Merci beaucoup pour l'explication, je vais me garder ton code avec les commentaires.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed