|
Dernière réponse | |
---|---|
Sujet : [PHP] Lister les fichiers d'un répertoire... | |
jultey | http://www.jultey.firstream.net/jultey/smiley/vomi.gif c mon préféré celui la... mais rien avoir avec toi !! Bon, allez, au dodo ! A+ |
Aperçu |
---|
Vue Rapide de la discussion |
---|
jultey | http://www.jultey.firstream.net/jultey/smiley/vomi.gif c mon préféré celui la... mais rien avoir avec toi !! Bon, allez, au dodo ! A+ |
youdontcare | http://www.jultey.firstream.net/ju [...] ien_vu.gif :D |
jultey |
|
youdontcare | ton accolade est bonne, ton indentation est étrange. et tu créés le tableau à chaque passage dans la boucle ... !
ça doit ressembler à : $f = array(); while ($file = readdir()) { $f[] = $file; } sort($f); $i=0; while ($i < sizeof($f)) { echo $f[$i]; $i++; } |
jultey |
|
youdontcare | non. tu boucles avec readdir() pour ranger tes fichiers dans un tableau, tu tries le tableau, puis tu boucles sur le tableau pour l'afficher. |
jultey | J'en suis la :
|
youdontcare | jultey >
cherche sort() dans la page. |
jultey | J'ai un repertoire de gif que je liste pour les faire apparaitre, mais j'aimerais les afficher par order alphabétique, c possible ?
|
youdontcare | this.options[this.selectedIndex].text te donne le nom de l'image. si tes images sont dans un sous-répertoire images, le chemin est 'images/' + this.options[this.selectedIndex].text si tes images sont dans un répertoire images parent à celui de l'html, le chemin est '../images/' + this.options[this.selectedIndex].text etc. |
Toto21 | Ouaou!!!
Ca c'est du script bien expliqué!! Encore une chose, mes images ne sont pas ds le même répertoire que le fichier html... Comment je fais pour remonter et indiquer le chemin? Ou est ce que je dois le rajouter? Encore merci! :hello: |
youdontcare | une version plus courte inspirée par celle de kayasax :
<select onchange="document.getElementById('img1').src = this.options[this.selectedIndex].text;"> et hop :) |
kayasax | ah ben ca alors j'en ai appris des trucs en js sur 1 seul topic ;) :jap: respect ! |
youdontcare |
:D
|
kayasax | muhmm il est bon cuila :wahoo: mangez en !! :lol: 1 truc que je pige pas ds ta derniere ligne : document.getElementById('viewer').src = option.text; il sort d'ou le .text ? ce serait pas .value plutot ??
|
youdontcare | (un ptit exemple plus didactique ;) )
si tu as une nouvelle question, renomme le titre de ton topic ou crées-en un nouveau. pour charger une image, c'est effectivement + simple par javascript. bon alors ... tu définis une image 'vide' dans ton code en lui donnant un id qui va servir à l'identifier : <img id='viewer'> tu définis ton select et tes images. select réagit à l'événement onchange qui indique qu'on vient de changer la sélection. on va appeler notre méthode qui va updater l'image (méthode qu'on va définir après). <select onchange="updateImage()"> <option>image1.jpg</option> <option>image2.jpg</option> <option>image3.jpg</option> </select> maintenant, la méthode javascript : <script> function updateImage() { alert('modifié !'); } </script> si tu mets ça dans ton html, tu vas voir que la méthode est appelée à chaque fois que tu cliques sur une nouvelle image. maintenant, on va écrire le code qui va updater l'image. pour ça, il faut : 1) récupérer le nom de l'image sélectionnée 2) assigner ce dernier à l'image dans updateImage(), tu a accès à event qui te donne des infos sur l'événement courant, ici onchange. event.srcElement donne l'objet qui a lancé l'événement, ici le menu déroulant. le menu déroulant a deux paramètres intéressants : selectedIndex, qui donne le numéro de la sélection, et options, un tableau qui donne toutes les options du menu. chaque option contient une variable text qui donne son contenu (ici 'image1.jpg' par exemple). // on récupère le menu var n = event.srcElement; // on récupère l'index de l'option sélectionné var index = n.selectedIndex; // on récupère l'option var option = n.options[index]; // affiche le nom de l'image sélectionée alert(option.text); on a maintenant le nom de l'image, il suffit de l'assigner à notre image 'viewer'. document.getElementById(idDeLaBalise) permet de récupérer une balise. donc document.getElementById('viewer') récupère notre image, qui a une propriété src, le nom de l'image qu'elle affiche. il suffit de mettre le nom qu'on a récupéré plus haut dans cette variable, et hop ! document.getElementById('viewer').src = option.text donc au final : function updateImage() { // on récupère le menu var n = event.srcElement; // on récupère l'index de l'option sélectionné var index = n.selectedIndex; // on récupère l'option var option = n.options[index]; // on update l'image document.getElementById('viewer').src = option.text; } |
kayasax | bon 1 tit exemple "en live" :) tu as ton image qqpart <img name="img1" src="..."> ton menu <form name="form1"> <select name="choix" onchange="window.document.img1.src='documen t.form1.choix.options[selectedIndex].value'; "> A tester et verifier les syntaxes |
Toto21 | :pt1cable: |
Toto21 | :wahoo: |
Toto21 | Ouais ok... mais vous auriez pas un tit exemple! :wahoo: |
fafe | si tu vais qur ca soit en temps réel ta seule solution c'est le javascript... |
Toto21 | Mais je pense pas que je doive utiliser PHP pour ça... (PHP, c'est côté serveur...) Alors comment... |
Toto21 | Oui mais pour ça, il faut actualiser la page... moi je voudrais qu'il y ais une partie de ma page qui soit reservée à l'affichage de cette image, que QUAND on clique sur le nom, elle s'affiche... |
z0rglub | tu récupère le contenu de la selection et tu fais un img src=\"ton_rep/$selection".".jpg\">
enfin un truc du genre... |
Toto21 | Ooooooooooki merci!!!
Mais sinon, pour afficher l'image quand on clique sur le nom dans la liste déroulante, comment je pourrais faire? |
z0rglub | http://www.php.net/manual/fr/function.readdir.php |
Toto21 | Salut à tous!
Je voudrais lister l'ensemble des fichiers d'un répertoire (qui ne contient que des images) et ensuite les mettres dans un menu déroulant permettant de la sélectionner... Comment on fait? Accessoirement, est-ce qu'il est possible d'afficher l'images lorsque on clique sur son nom dans le menu déroulant? Comment? Merci à tous @+ ;-) Toto21 |