cccp Posté 18 Juillet 2005 Posté 18 Juillet 2005 (modifié) Bonjour les gars! Y a t'il un script pour pouvoir afficher en texte le nombre des fichier .jpg ou .gif (=des images) d'un repertoire? Example: Dans ce repertoire il y a : 12 photos Merci d'avance! Modifié 18 Juillet 2005 par cccp
MarvinLeRouge Posté 18 Juillet 2005 Posté 18 Juillet 2005 Salut, Ca existe peut-être tout fait. Sinon, tu peux le faire sans difficulté je pense : jette un oeil à la fonction scandir.
cccp Posté 18 Juillet 2005 Auteur Posté 18 Juillet 2005 Merci , mais j'ai rien trouvais de bien pour ce que je recherche.
MarvinLeRouge Posté 18 Juillet 2005 Posté 18 Juillet 2005 ??? Alors soit j'ai mal compris ta requète, soit t'as mal regardé là où je t'ai dit : La fonction scandir te renvoie la liste des fichiers d'un répertoire : il te suffit de compter ceux dont le nom se termine par .jpg ou .gif (ou .png). C'est simple.
cccp Posté 18 Juillet 2005 Auteur Posté 18 Juillet 2005 Salut encore. Ca doit être que toi tu m'a mal compris. J'explique : J'ai une page PHP ou j'envie d'afficher le nombre (exp. 1 ou 2ou 34...) et ce nombre correspond à le nombre des images que j'ai dans un repetoire, mais QUE des IMAGES. Voilà.
MarvinLeRouge Posté 19 Juillet 2005 Posté 19 Juillet 2005 Et bien ce que je t'ai dit fonctionne : 1) Tu utilises la fonction scandir qui te renverra les noms de TOUS les fichiers du répertoire dans un tableau 2) Tu crées un compteur que tu initialises à 0 3) Tu parcoures ce tableau, et à chaque fois que tu tombes sur un fichier dont le nom se termine en .jpg, .gif ou .png, tu ajoutes 1 à ton compteur 4) Tu affiches la valeur de ton compteur
cccp Posté 19 Juillet 2005 Auteur Posté 19 Juillet 2005 Merci MarvinLeRouge, Ca semble d'être facile.... Mais pas pour moi Si t'a un example, STP
Sarc Posté 19 Juillet 2005 Posté 19 Juillet 2005 Salut... N'essaye pas de faire quelque chose en javascript ou asp ou quoi que ce soit, c'est bien avec PHP que tu le feras... :/ $dh = opendir("dossier_images"); while (($file = readdir($dh)) !== false) { $photos[] = $file; }foreach ($photos AS $nomphoto){if (ereg('jpg', substr("$nomphoto", -3)) OR ereg('gif', substr("$nomphoto", -3))){$nombre_photos++;}} Voilà c'est une idée, que tu peux améliorer facilement... En tout cas c'est en allant dans cette voie que tu pourras faire ton truc !
MarvinLeRouge Posté 19 Juillet 2005 Posté 19 Juillet 2005 Tu as tous les éléments, essaye et dis nous ce que ça donne.
cccp Posté 19 Juillet 2005 Auteur Posté 19 Juillet 2005 Même pour essayer je suis NUL ! je connais rien
MarvinLeRouge Posté 19 Juillet 2005 Posté 19 Juillet 2005 C'est un forum d'entraide, je ne le ferai pas à ta place. En revanche, si tu essayes et que tu as des problèmes, je t'aiderai bien volontiers.
cccp Posté 19 Juillet 2005 Auteur Posté 19 Juillet 2005 Bon, d'accord. Mais tu vera vite que je suis NUL. <?php$dir = "/images/galeries/";$gcc_file = "counter.txt";if(!file_exists("$gcc_file")){ $gcc_fp=fopen("$gcc_file","a"); fputs($gcc_fp,"0"); fclose($gcc_fp);}$dh = opendir($dir);while (false !== ($filename = readdir($dh))) { $files[] = $filename;}sort($files);print_r($files);rsort($files);print_r($files);?>
vero Posté 10 Juin 2006 Posté 10 Juin 2006 (modifié) bonjour, j'ai repris votre discution car je cherche à afficher le nombre d'images d'un repertoire et en mettant le code : <?php$dh = opendir("xxx/xxx");while (($file = readdir($dh)) !== false){$photos[] = $file;}foreach ($photos AS $nomphoto){if (ereg('jpg', substr("$nomphoto", -3)) OR ereg('gif', substr("$nomphoto", -3))){$nombre_photos++;echo $nombre_photos;}}?> j'obtiens 123 alors que le resultat devrait etre 3 et 12345 quand le resultats doit etre 5 comment puis je afficher le bon resultat? Modifié 10 Juin 2006 par vero
Loupilo Posté 10 Juin 2006 Posté 10 Juin 2006 Tout bêtement en déplaçant la ligne echo $nombre_photos; derrière l'accolade qui la suit actuellement. C'est très simple : ton code effectue une boucle, et chaque boucle est une photo. À chaque boucle, le nombre total de photos augmente donc. Or ton "echo $nombre_photos;"est inséré dans le code de la boucle... ce qui fait que chaque fois qu'une boucle sera effectuée, la ligne sera executée et donc le nombre affiché. En mettant la ligne hors de la boucle, tu attends que toutes les photos aient été comptées avant d'en afficher le compte. Loupilo.
Thanh Posté 11 Juin 2006 Posté 11 Juin 2006 Bonsoir, en utilisant la fonction glob() : // On récupère dans un tableau les différents fichiers images, il suffit donc de lister les extensions possibles$strPath = 'xxx/xxx/';$arrFiles = glob("$strPath{*.jpeg,*.jpg,*.gif,*.png}", GLOB_BRACE);// On affiche le résultatecho 'Il y a ' . sizeof($arrFiles) . ' image(s).'; ++
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant