Au hasard d’une recherche, je suis tombé sur Random Background qui me propose de changer mon fond d’écran aléatoirement. Une fonctionnalité présente sur Windows 7 et qui manque peut-être aux utilisateurs Vista et XP. Il existe beaucoup de solutions pour personnaliser l’apparence de son bureau mais celle-ci ne propose rien d’autre que de choisir le dossier de wallpaper et la fréquence à laquelle ceux-ci vont switcher. Il ne reste qu’à ajouter les images que l’on souhaite voir dans ledit dossier.
J’ai cherché une solution similaire pour le background d’unautre et après avoir trouvé moult extensions WordPress qui ne marchent jamais comme on le voudrait, j’ai emprunté le simplissime bout de code de ma.tt
Sans prétention aucune, le but ici est de témoigner de la facilité de cette solution, alors pour les novices et ceux que ça intéresse, voici la marche à suivre…
Dans mon fichier style.css j’ai changé le chemin vers mon background.jpg en pointant désormais vers un fichier rotate.php que je viens de créer dans un nouveau dossier où seront les images à charger en fond.
rotate.php contient le code suivant :
<?php
/*
By Matt Mullenweg > http://photomatt.net
Inspired by Dan Benjamin > http://hiveware.com/imagerotator.php
Latest version always at:http://photomatt.net/scripts/randomimage
*/
// Make this the relative path to the images, like "../img" or "random/images/".
// If the images are in the same directory, leave it blank.
$folder = '';
// Space seperated list of extensions, you probably won't have to change this.
$exts = 'jpg jpeg png gif';
$files = array(); $i = -1; // Initialize some variables
if ('' == $folder) $folder = './';
$handle = opendir($folder);
$exts = explode(' ', $exts);
while (false !== ($file = readdir($handle))) {
foreach($exts as $ext) { // for each extension check the extension
if (preg_match('/\.'.$ext.'$/i', $file, $test)) { // faster than ereg, case insensitive
$files[] = $file; // it's good
++$i;
}
}
}
closedir($handle); // We're not using it anymore
mt_srand((double)microtime()*1000000); // seed for PHP < 4.2
$rand = mt_rand(0, $i); // $i was incremented as we went along
header('Location: '.$folder.$files[$rand]); // Voila!
?>
Vous n’avez plus qu’à choisir de belles images pour votre fond, mais attention quand même à ne pas faire n’importe quoi, on n’est pas sur myspace ou twitter…
