Images aléatoires

Résolu
TOONIE Messages postés 130 Date d'inscription vendredi 5 octobre 2007 Statut Membre Dernière intervention 29 octobre 2012 - 11 août 2008 à 23:24
TOONIE Messages postés 130 Date d'inscription vendredi 5 octobre 2007 Statut Membre Dernière intervention 29 octobre 2012 - 12 août 2008 à 12:27
Bonsoir,

J'essaye de modifier le code suivant, de sorte que les images affichées aléatoirement soient puisées dans le répertoire "images/vignettes :

<?php
$nbimages=10;
$nomimages=array();
for($i=1;$i<=10;$i++)
{
$nomimages[$i]="image".$i.".jpg";
}
srand((double)microtime()*50000);
$affimage=rand(1,$nbimages);
?>

<?php
print("");
?>

Mais je n'arrive pas saisir où il faut que je précise le chemin. J'ai bien essayé certaines possibilités, mais à chaque fois j'ai le message qu'il y a une erreur dans la ligne xx (xx = numéro de la ligne). Je ne vois plus comment m'y prendre. Si vous pouviez m'aider ?

Merci d'avance pour votre aide,

TOO
NIE

7 réponses

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
12 août 2008 à 11:35
<?php
srand();
echo '';
?>
3
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
12 août 2008 à 00:01
Bonsoir,

ce code suppose que tes images s'appellent image1.jpg, image2.jpg, etc jusqu'à 10. Et il est vraiment compliqué pour rien !

Ceci sera bien suffisant :

<?php

echo '';

?>

avec tes images qui s'appellent image_1.jpg, etc, dans le même répertoire que le fichier php.

à+
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
12 août 2008 à 00:11
salut

srand((double)microtime()*50000);

si on lit la doc

http://fr3.php.net/srand
void srand ([ int $seed ] )

pourquoi tu castes en double ?

50 000 ca fait pas beaucoup de graines possibles... pour l'aleatoire, c'est merdique. alors, c'est sur, ton probleme ne demande pas de l'aleatoire parfait, mais bon... c'est une mauvaise habitude.
0
TOONIE Messages postés 130 Date d'inscription vendredi 5 octobre 2007 Statut Membre Dernière intervention 29 octobre 2012
12 août 2008 à 11:28
Bonjour à tous,


Evangun : Première erreur de ma part au niveau des noms des images qui ne s'appellent pas "image1.jpg" mais "1.jpg". J'ai donc modifié comme ceci :





<?php
$nbimages=10;
$nomimages=array();
for($i=1;$i<=21;$i++)
{
$nomimages[$i]="./images/vignettes/".$i.".jpg";
}
srand((double)microtime()*50000);
$affimage=rand(1,$nbimages);
?>

<?php
print("");
?>




Maintenant, j'ai bien une image de démarrage, mais qu'une. Les autres ne viennent jamais. De plus, au démarrage, c'est toujours celle-ci qui s'affiche, un peu comme s'il n'y en avait qu'une (il y en a 21).

J'ai essayé echo ''; (bravo pour la simplification !), et j'ai toujours la même image au démarrage (ce qui qui ne devrait pas être le cas ?).

Coucou747 : "50 000 ca fait pas beaucoup de graines possibles... pour l'aleatoire, c'est merdique" Peux-tu m'expliquer un peu plus ? Au départ il y avait 100 000 et j'ai pensé que 50000 est le temps d'attente entre chaque image,ce qui représente quand même beaucoup... Il y a quelque chose que je n'ai pas compris ?

A bientôt,

TOO
NIE
0

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

Posez votre question
TOONIE Messages postés 130 Date d'inscription vendredi 5 octobre 2007 Statut Membre Dernière intervention 29 octobre 2012
12 août 2008 à 12:06
J'ai rajouté le chemin

<?php
srand();
echo '';
?>

et ça marche nickel;

<merci beaucoup>

TOO
NIE
0
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
12 août 2008 à 12:09
Au passage, il n'y a plus besoin d'initialiser le moteur srand( ) avant d'utiliser rand( ), donc tu peux le supprimer.
0
TOONIE Messages postés 130 Date d'inscription vendredi 5 octobre 2007 Statut Membre Dernière intervention 29 octobre 2012
12 août 2008 à 12:27
Je l'ai supprimé et ça fonctionne comme tu le disais.

Merci à toi également pour tes interventions !

TOO
NIE
0
Rejoignez-nous