image aléatoire
Posté : 09 avr. 2006, 14:31
bonjour je souhaiterai savoir comment créer une image comme celle-ci qui change aléatoirement ? merci d'avance

Venez poser vos questions PHP, MySQL, HTML5, CSS, Javascript, Gestion de serveurs à la communauté PHPfrance
https://forum.phpfrance.com/
$dir=opendir("images");
while( ($img=readdir($dir)) !== false)
if ($img{0} != ".") $tab_img[]=$img;
closedir($dir);
ensuite tu choisis une clef au pif dans le tableau
$rnd = rand(0 , count($tab_img) );
puis pour finir tu envoies ca au navigateur en PNG
$img = imagecreatefrompng( "images/".$tab_img[$rnd] );
header("Content-type: image/png"); // transforme le script en image
imagepng($img); // affiche l'image
imagedestroy($img); // libère la ram (facultatif)
C'est un exemple avec des PNG, mais tu peux mettre des GIFs ou JPEGs mais il faudra modifier la fonction imagecreatefrompng par imagecreatefromgif ou imagecreatefromjpeg ou alors détecter le type de l'image avec getimagesize
list($x,$y,$extt)=getimagesize("fichier");
switch ($extt) {
case 2: $img=imagecreatefromjpeg("fichier"); break;
case 1: $img=imagecreatefromgif("fichier"); break;
case 3: $img=imagecreatefrompng("fichier"); break;
}
ou avec pathinfo
$parties=pathinfo(strtolower("fichier"));
$ext=strtolower($parties['extension']);
switch ($extt) {
case "jpg": $img=imagecreatefromjpeg("fichier"); break;
case "gif": $img=imagecreatefromgif("fichier"); break;
case "png": $img=imagecreatefrompng("fichier"); break;
}
$type=getimagesize('fichier');
$ext = $type['mime'];
ou avec les données exifs si elles existent encore sur tes images
$exif = exif_read_data('fichier', 'EXIF');
$ext = $exif[ImageType];
je suis plus sur de 'ImageType', il faut vérifer en affichant avec print_r le tableau EXIF