[Php]image aleatoire

Fermé
alban13580 Messages postés 91 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 21 janvier 2006 - 22 mars 2005 à 19:38
 Anaya - 26 août 2012 à 16:14
bonjour voila j'ai plusieurs images et jaimerais en php que ce ne soit pas tout le temps la meme qui soit afficher que ce soit un ordre aléatoire.

Merci
A voir également:

12 réponses

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
22 mars 2005 à 22:34
Imagine que tu as trois adresses pour trois images:

http://www.tonsite.com/image1.jpg
http://www.tonsite.com/image2.jpg
http://www.tonsite.com/image3.jpg

Donc tu affectes ces trois valeurs dans trois champs d'une variable tableau:
$images[0]="http://www.tonsite.com/image1.jpg";
$images[1]="http://www.tonsite.com/image2.jpg";
$images[2]="http://www.tonsite.com/image3.jpg";


Tu génères un nombre aléatoire entre 0 et 2 (inclus) et tu l'affectes à une variable $i:
$i=rand(0,2);

Ce nombre aléatoire te servira pour faire appel à un des trois champs du tableau $image,; avec ça tu peux construire un appel d'image en html:
echo "<img src=\"$images[$i]\">

Dis moi si ya un truc qui t'échappe.


Dugenou
3
bonjour,
ça marche pareil avec des codes html de utube? on peut les faire tourner en aléatoire?

merci
0
graffx Messages postés 6506 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 24 mars 2019 1 974
Modifié par graffx le 10/07/2010 à 12:11
Sinon tu peux simplement utiliser un array, simple et imparable:

<img src="
<?php $bckImg=array(

'images/header/bg.jpg',
'images/header/bg_hl2.jpg',
'images/header/bg_alien.jpg',
'images/header/bg_alien2.jpg',
'images/header/bg_zombie.jpg',
'images/header/bg_hl24.jpg',
'images/header/bg_hl25.jpg'

);

Ce qui affichera une image aléatoire

Le petit bonhomme en mousseeuuuuuuu...
3
Ton code ne fonctionne pas, peux-tu me donner la bonne version ?
0
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451
23 mars 2005 à 07:58
Bonjour,

En fait le script est lié à un fichier texte qui contient les adresses des images ou de ce que tu veux.

Il faut insérer le script à l'endroit ou tu veux que les images s'affichent, puis écrire les adresses des images dans le fichier texte.

J'utilise ce script aussi bien pour des bannières en flash que pour des citations. La seul obligation est que chaque adresse dans le fichier texte ne tienne que sur une ligne.

Le script :

<?
$cpt=0;
$fpc = fopen("fichier.txt","r");

while (!feof($fpc))
{
$enrc = fgets ($fpc,4096);
$tabc[]=$enrc;
$cpt++;
}
srand((double)microtime()*1000000);
$nbrc=rand(0,($cpt-1));
echo "$tabc[$nbrc]";
?>

Bon courage.
1
Et est-ce que quelqu'un sait sous quelle forme (syntaxe) on doit écrire les adresses des images dans le fichier txt ?
Merci d'avance.
0
Bonjour, voila j'ai un petit code de bannière aléatoire qui marche parfaitement :

<?php $nbimages=5;

$nomimages[1]="../images/Design/bannieres/Banniere-1.jpg";
$nomimages[2]="../images/Design/bannieres/Banniere-2.swf";
$nomimages[3]="../images/Design/bannieres/Banniere-3.jpg";
$nomimages[4]="../images/Design/bannieres/Banniere-4.swf";
$nomimages[5]="../images/Design/bannieres/Banniere-5.jpg";
srand((double)microtime()*1000000);
$affimage=rand(0,$nbimages);
?>

<img src="images/<?echo $nomimages[$affimage];?>" border=0 width=50 height=50 alt="Veuillez patienter le temps que l'image s'affiche...">

Comment pourrai-je faire pour y mettre une image .swf (flash) ?
merci d'avance.
1
merci pour ton script,il marche trés bien !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
22 mars 2005 à 19:56
Euh en fait je voulais parler de rand() je crois:
http://fr2.php.net/manual/en/function.rand.php

Parce que là j'ai pas tout compris à gmp_random()

Donc:

$i=rand(0,9);
echo "<img src=\"$images[$i]\">";
0
alban13580 Messages postés 91 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 21 janvier 2006
23 mars 2005 à 07:13
ok sa va a peu pres
je peux remplacer l'adresse de l'image par du code xhtml?? si je veu faire une banniere lien??
merci
0
Etant donné que les balises pour appeler du Flash, et celles pour une img sont différentes, il faudra peut être couper ton script en 2 parties.

Je vois pas ça possible avec le même code.
0
Voila

je pense que ca va etre dure pour moi car je ne comprend absolument rien !!!!
pour moi cas j ai une image sur mon site qui est dans mon fichier CSS.

.gauche {float : left; width : 265px ; height : 450px; background-image : url(images/001.jpg) }

l"image s apel 001.jpg

voila je voudrais afficher des images aleatoirement

http://www.optycos.fr

l"adresse de mon site

merci de venir en aide au boulet que je suis

Merci
0
et si je veux faire un lien sur cette image ??
0
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451
22 mars 2005 à 19:47
Bonsoir,

Tu peux utiliser ce script en php, sans base de données, "bannière aléatoire" :

http://www.phpscripts-fr.net/scripts/scripts.php?cat=Banni%E8res

Bon courage.
-1
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
22 mars 2005 à 19:50
Salut,

Il suffirait de prendre un tableau, par exemple $images.
Dans $images[0] tu mets l'adresse de ta première image, dans $images[1] l'adresse de ta deuxième image etc..
On va dire que tu as 10 images. Donc on s'arrête à $images[9]

Tu utilises la fonction gmp_random()
http://fr2.php.net/manual/en/function.gmp-random.php

Et voilà,
$i=gmp_random(9);
echo "<img src=\"$images[$i]\">";
:-)
-1
alban13580 Messages postés 91 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 21 janvier 2006
22 mars 2005 à 20:52
merci pour le script dugenou
heu kilian j'ai pas compris ce que tu voulais dire....
-1