Auteur : Matt Wright
Plateforme : Unix / Win NT 95 98 Télécharger le script et les explications
Prix : gratuit
Random Image Displayer est un script qui permet d'afficher de manière aléatoire une image choisie parmi une liste prédéfinie.
Permet de changer aussi bien un fond de page qu'une image tout a fait normale. Ne nécéssite pas l'utilisation des SSI, mais celle du javascript coté client pour forcer le rafraichissement de l'image.
Exemple (rechargez la page pour voir la différence)
Installation du script
Comme pour chaque script, vous devez vérifier que la première ligne pointe bien vers votre interpréteur perl sur votre machine.
Vous devez commencer vos mises à jour aux environs de la ligne 22 du script.
$basedir doit contenir l'url du répertoire contenant les images que vous souhaitez afficher.
@files contient la liste des images que vous voulez voir s'afficher alternativement. Suivez la syntaxe qui est montrée en exemple dans le script.
$uselog est une variable qui est soit à 1 soit à 0. Si elle est à 1 cela signifie que vous voulez utiliser un fichier log pour logger quelles images ont été affichées. Dans ce cas vous devez définir le fichier qui vous sert de log (variable suivante).
$logfile est donc le chemin d'accès à votre fichier log de l'affichage des images. Vous devez absolument le déclarer si $uselog est à 1. Ce fichier doit être mis en chmod 666.
Utilisation
Il suffit de placer un tag IMG tout a fait standard avec comme source de l'image votre script cgi :
<img src="/cgi-bin/divers/msarand_image.pl" vspace=0 hspace=20 border=0>
Cela fonctionne mais ce n'est pas optimal car il est très difficile de rafraichir l'image.
La solution est alors d'ajouter du javascript pour forcer le rafraichissement. Le code devient alors :
<script LANGUAGE="JavaScript">
var time = new Date();
cgi_fr = (time.getTime());
document.write('<img src="/cgi-bin/divers/msarand_image.pl?');
document.write(cgi_fr + '" vspace=0 hspace=20 border=0>');
</script>
<noscript>
<img src="/cgi-bin/divers/msarand_image.pl?page=ccgi" vspace=0 hspace=20 border=0>
</noscript>