logo

Background images random parmi une liste [CSS + PHP]

Besoin d’insérer une image aléatoire sur votre « header » ou ailleurs, ces petites lignes de codes vont vous y aider. Contrairement à d’autres codes qui mettrons une image aléatoire qui risque de se répéter, cet outil assure que toutes les images de votre choix (tableau) seront affichées les unes après les autres … mais toujours au hasard.

Dans votre CSS

.image1 {background-image: url(img/fond1.jpg);}
.image2 {background-image: url(img/fond2.jpg);}
.image2 {background-image: url(img/fond3.jpg);}
.image2 {background-image: url(img/fond4.jpg);}
.etc {background-image: url(img/fond5.jpg);}

Dans votre page PHP

<?php session_start(); ?> <!-- Cette ligne n'est parfois pas nécessaire -->
<div class=" <?php
   $images = array("image1", "image2", "image3", "image4", "etc");
 $nombre = rand(0,count($images)-1);
 if (isset($_SESSION['numero'])){
 while ($_SESSION['numero'] == $nombre || $_SESSION['numero2'] == $nombre) {
 $nombre = rand(0,count($images)-1);
 }
 $_SESSION['numero2'] = $_SESSION['numero'];
 $_SESSION['numero'] = $nombre;
 echo $images[$nombre] . "\n";
 } else {
 $_SESSION['numero2'] = $_SESSION['numero'];
 $_SESSION['numero'] = $nombre;
 echo $images[$nombre] . "\n";
}
?>">
</div>