Affichage aléatoire d'une série d'image

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Affichage aléatoire d'une série d'image

Re: RESOLU : Affichage aléatoire d'une série d'image

par l.dardanelli » 05 nov. 2009, 02:07

Impeccable, merci pour votre aide
Laurent

Re: Affichage aléatoire d'une série d'image

par niuxe » 04 nov. 2009, 03:58

Hello,

Bien vu Jojolapine. Arf, j'aurai fait un array_rand() :q

Pour rester dans l'idée de jojolapine et te donner un bout de piste, tu vas faire un tableau à deux dimensions :
$mes_images = array(
	array(
		"0" => "image.jpg",
		"1" => "www.liens.com"
	),
	array(
		"0" => "image2.jpg",
		"1" =>"www.liens2.com"
	),
	array(
		"0" => "image3.jpg",
		"1" => "www.liens3.com"
	),
	array(
		"0" => "image4.jpg",
		"1" => "www.liens4.com"
	),
	// etc.
);
shuffle($mes_images);

for($i = 0 ; $i < 3 ; $i++){
	echo $mes_images[$i][0]."<br />";
	echo $mes_images[$i][1]."<hr />";
}
code fait de tête. Je peux m'être trompé.

Bon code à toi

Re: Affichage aléatoire d'une série d'image

par l.dardanelli1 » 04 nov. 2009, 01:33

Bonsoir,
Merci pour ces éléments, j'ai finalement réussi à faire cet affichage aléatoire...
Maintenant, la question que je me pose concerne les liens sur les images. Je ne souhaite pas que les liens pointent vers mes images mais vers différentes pages de mon site, chaque lien étant bien sur fonction de l'image. Y a t'il un moyen de paramétrer cela dans un fichier .txt placé dans le répertoire des images (je parle de la correspondance image/lien)?
Puis de faire référence à ce fichier .txt dans mon script?

Merci d'avance
Laurent

Re: Affichage aléatoire d'une série d'image

par jojolapine » 30 oct. 2009, 17:17

Essaye plutôt de faire un shuffle() sur ton tableau d'images, ensuite, tu prends les trois premières et le tour est joué ;)

Affichage aléatoire d'une série d'image

par l.dardanelli » 30 oct. 2009, 11:09

Bonjour à tous,
J'ai trouvé dans la partie contribution du forum, un script permettant l'affichage aléatoire d'une image.
<?php

        ########################################
        #
        # Affichage image aléatoire //manucci.info
        #
        ########################################

        //On indique le dossier images
        $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))
                                {
                                        $listef&#91;&#93; = $file;
                                }
                }
       
        $random_img = rand(0, count($listef)-1); //permet de prendre une image totalement au hasard (RANDom) parmi toutes les images trouvées.
       
        //On calcule la largeur et la hauteur de l'image aléatoire
        $size = getimagesize($chem_img."/".$listef&#91;$random_img&#93;);
       
        //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&#91;0&#93; > $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&#91;0&#93;/$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&#91;1&#93;/$theight);
                }
        else
                {
                        //Sinon on garde la taille originale
                        $width = $size&#91;0&#93;; $height = $size&#91;1&#93;;
                }
        //On affiche l'image aléatoire (en respectant les standards ! <img src="./images/smilies/icon_smile.gif" alt=":)" title="Smile" /> )
        echo "<a href=\"".$chem_img."/".$listef&#91;$random_img&#93;."\" onclick=\"window.open(this.href,'_blank');return false;\"><img style=\"border: one; width: ".$width."px; height: ".$height."px\" src=\"".$chem_img."/".$listef&#91;$random_img&#93;."\" alt=\"".$listef&#91;$random_img&#93;."\" /></>";
        //On ferme le dossier
        closedir($handle);
?>
Ce que je souhaiterais, c'est afficher 3 images de façon aléatoire. Apparemment il faudrait faire une boucle et un test pour vérifier qu'une image ne s'affiche pas 2 fois...

Est-ce que quelqu'un pourrait m'aider?

Merci d'avance
Laurent