Jump to content

je voudrait avoir une images aleatoire


Recommended Posts

C'est du simple random. Pour faire ça facilement et rapidement (en php par exemple) :

- Tu créé un répertoire où tu mets toutes tes images (et éventuellement QUE des images, ça simplifiera le script).

- dans ton script, tu fais un listing du dossier en question (sous forme de array)

- et après, tu utilises mt_rand sous la forme (en disans que le listing est sauvé sous liste) : liste[mt_rand(0, sizeof(liste))].

Voila je pense que c'est tout. Après encore éventuellement jouer sur la taille de l'image, mais c'est tout.

P.S. : on dit pas "je veux", mais "j'aimerai" ;)

Link to comment
Share on other sites

Bon je te donne les clés rapidement (c'est un script fait vite fait, sans vérif).

- créer un répertoire "images" à la base de ton site.

- dans ce répertoire tu mets tes images (j'ai bien QUE des images).

Ensuite ça donne a peu près ça :

ton code HTML jusqu'au point où tu veux mettre ton image
...

<?php

$dossier = "images";

$handle = dir($dossier);
$images = array();

while ($file = $handle->read()) {
if (($file != ".") && ($file != "..")) {
	$images[] = $dossier . '/' . $file;
}
}

$image_hasard = $images[mt_rand(0, (sizeof($images)-1))];

// On pourrait faire éventuellement une vérification que c'est bien une image (ou même avant dans le while).

echo '<img src="' . $image_hasard . '" alt="Image hasard" />'; // Ici aussi éventuellement mettre la taille de l'image.

?>

...
La suite de ton code

Comme je l'ai dis c'est un code "expérimental", que je n'ai pas testé ni optimisé. Et quelques améliorations ne seraient pas de trop.

Ou sinon créer carrément un fichier "image.php" qui te sortira une image de la manière suivante :

Dans ton "image.php" :
Header("Content-type: image/jpeg");
....(la suite de ton code)....

Et dans ton fichier HTML :
<img src="image.php" alt="image au hasard" />

Mais ça complique un peu le code (pas des masses non plus).

Après c'est à toi de coder ton truc :pleure:

Link to comment
Share on other sites

D'après moi la lenteur vient de Free (pour l'upload des images, pas du php). Parce que mon script ne fait que lister un dossier (chose "courante" en php) et un random dans un array qui ne contient que du texte (également courant et rapide). Et puis une fois qu'on a toutes les images dans le cache, je trouve que c'est tout de même rapide (voir même instantané).

Peut-être éventuellement utiliser la fonction scandir.

Sinon une méthode encore plus simple, mais qui demandera du boulot de ton coté : renommer tes fichiers en 1.jpg, 2.jpg, 3.jpg, etc... puis dans ton script :

echo '<img src="images/' . mt_rand(1, 5) . '" alt="hasard" />';

pour des images allant de 1.jpg à 5.jpg (par exemple). Il suffit de changer les nombres en fonction du besoin. Par contre c'est moins élégant et moins modulable que ce que je t'ai mis avant car il faut tout configurer au départ et renommer les fichiers. Pour ce qui est de la rapidité elle en sera accrue (même si je doute que tu verras la diff).

A toi de voir.

P.S. : on dirait que j'ai fais une erreur dans mon premier script (c'est ça quand on vérifie pas par soit même). Je le modifie dans mon précédent post.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...