Affiche plusieux Images aléatoire dans un dossier site web
Fermé
jeremyguyot
Messages postés
58
Date d'inscription
dimanche 15 novembre 2009
Statut
Membre
Dernière intervention
5 juillet 2016
-
Modifié par jordane45 le 26/02/2016 à 09:35
jeremyguyot Messages postés 58 Date d'inscription dimanche 15 novembre 2009 Statut Membre Dernière intervention 5 juillet 2016 - 26 févr. 2016 à 18:11
jeremyguyot Messages postés 58 Date d'inscription dimanche 15 novembre 2009 Statut Membre Dernière intervention 5 juillet 2016 - 26 févr. 2016 à 18:11
A voir également:
- Affiche plusieux Images aléatoire dans un dossier site web
- Site de telechargement - Accueil - Outils
- Dossier appdata - Guide
- Site comme coco - Accueil - Réseaux sociaux
- Web office - Guide
- Création site web - Guide
3 réponses
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
Modifié par jordane45 le 26/02/2016 à 10:03
Modifié par jordane45 le 26/02/2016 à 10:03
Bonjour,
Voilou (codé un peu à l'arrache..mais ça fonctionne ^^ )
J'ai découpé en fonctions histoire que ça soit plus facile à utiliser.
Les fonctions :
Et donc.. pour utiliser les fonctions, il suffit d'utiliser :
Cordialement,
Jordane
Voilou (codé un peu à l'arrache..mais ça fonctionne ^^ )
J'ai découpé en fonctions histoire que ça soit plus facile à utiliser.
Les fonctions :
<?php function createLink($chem_img,$listef,$random_img,$width,$height){ return "<a href='".$chem_img."/".$listef[$random_img]."' onclick='window.open(this.href,'_blank');return false;'> <img style='border: none; width: ".$width."px; height: ".$height."px' src='".$chem_img."/".$listef[$random_img]."' alt='".$listef[$random_img]."'></img> </a>"; } function getImgFromDir($chem_img="./images"){ //On ouvre le dossier images $handle = opendir($chem_img); //On parcoure chaque élément du dossier while ($file = readdir($handle)){ //Si les fichiers sont des images if(preg_match ("!(\.jpg|\.jpeg|\.gif|\.bmp|\.png)$!i", $file)){ $listeImg[] = $file; } } //On ferme le dossier closedir($handle); return $listeImg; } function getImgAlea($chem_img,$listef){ //permet de prendre une image totalement au hasard (RANDom) parmi toutes les images trouvées. $random_img = rand(0, count($listef)-1); //On calcule la largeur et la hauteur de l'image aléatoire if(file_exists($chem_img."/".$listef[$random_img])){ $size = getimagesize($chem_img."/".$listef[$random_img]); }else{ echo "Fichier introuvable : ".$chem_img."/".$listef[$random_img]; return -1; } //Largeur maximale de l'image pour la création des miniatures $largeur_maxi = 180; //Si la largeur dépasse la limite autorisée... if ($size[0] > $largeur_maxi){ //...la nouvelle largeur est égale à la limite à ne pas dépasser $width = $largeur_maxi; //La largeur d'origine divisée par la largeur limitée (on obtient un chiffre qui sert à faire la même proportion pour la hauteur) $theight = ($size[0]/$largeur_maxi); //La hauteur originale est divisée par le chiffre obtenu précédemment afin que l'image conserve les mêmes proportions que l'originale (mais en mode vignette) $height = ($size[1]/$theight); } else { //Sinon on garde la taille originale $width = $size[0]; $height = $size[1]; } $result = array(); $result['random_img'] = $random_img; $result['size'] = $size; $result['width'] = $width; $result['height'] = $height; return $result; } ?>
Et donc.. pour utiliser les fonctions, il suffit d'utiliser :
//On récupère la liste des fichiers images du répertoire $listef = getImgFromDir("./images"); $img1 = getImgAlea("./images",$listef); $img2 = getImgAlea("./images",$listef); while ($img1['random_img'] == $img2['random_img']){//pour éviter que la même image apparaisse deux fois... $img2 = getImgAlea("./images",$listef); } //On affiche l'image aléatoire (en respectant les standards ! :) ) if($img1){ echo createLink("./images",$listef,$img1['random_img'],$img1['width'],$img1['height']); } if($img2){ echo createLink("./images",$listef,$img2['random_img'],$img2['width'],$img2['height']); }
Cordialement,
Jordane
jeremyguyot
Messages postés
58
Date d'inscription
dimanche 15 novembre 2009
Statut
Membre
Dernière intervention
5 juillet 2016
26 févr. 2016 à 18:00
26 févr. 2016 à 18:00
Salut le code que tu mla donné ne fonctionne pas enfaite je veux que a coté de l'image aléatoire il y a une déxiéme qui s'affiche si je mais deux fois le script l'image s'affiche en dessous
jeremyguyot
Messages postés
58
Date d'inscription
dimanche 15 novembre 2009
Statut
Membre
Dernière intervention
5 juillet 2016
26 févr. 2016 à 18:11
26 févr. 2016 à 18:11
J'ai réussi a les placer grace au css mais je veut que la taille style: "width="200" height="100"
comment le placer ici //On affiche l'image aléatoire (en respectant les standards ! :) )
echo "<a href=\"".$chem_img."/".$listef[$random_img]."\" onclick=\"window.open(this.href,'_blank');return false;\"><img style=\"border: none; width: ".$width."px; height: ".$height."px\" src=\"".$chem_img."/".$listef[$random_img]."\" alt=\"".$listef[$random_img]."\" /></a>";
merci
comment le placer ici //On affiche l'image aléatoire (en respectant les standards ! :) )
echo "<a href=\"".$chem_img."/".$listef[$random_img]."\" onclick=\"window.open(this.href,'_blank');return false;\"><img style=\"border: none; width: ".$width."px; height: ".$height."px\" src=\"".$chem_img."/".$listef[$random_img]."\" alt=\"".$listef[$random_img]."\" /></a>";
merci