2SY9EG a écrit:Bon, j'me suis amusé à un petit truc, mais j'ai un effet secondaire auquel je m'attendais un peu.
Les couleurs sont dénaturées (vive la gestion de la transparence des PNG par PHP).
Enfin, y'a quelques mystères sous le capot ... (il part d'un jpeg pour au final me les dénaturer quand même, chelou)
- Code : Tout sélectionner
<?
/*
* Génération de la bannière qui change toute seule ooh c'est joooliii.
*/
// ça tombe bien, la somme des votes fait 119, soit presque 120 minutes
$votes = array(10,21,8,20,06,55);
// on ramène le temps à nos 120 minutes
$temps = time()%(3600*2) / 60;
// on détermine l'identifiant de la bannière
$i = 0;
$nbVotes = sizeof($votes);
while($temps > 0 || $i > $nbVotes) {
$temps = $temps - $votes[$i];
$i++;
}
$idBanniere = $i;
// rajouter le "0" au nom du fichier pour les bannières numérotées de 1 à 9.
$idBanniere = ( $idBanniere < 10 ) ? "0".$idBanniere : $idBanniere;
// on affiche
$pathBanniere = "bannieres/".$idBanniere.".jpg";
$LeJpegAAfficherSaMere = imagecreatefromjpeg($pathBanniere);
header('Content-Type: image/jpeg');
imagejpeg($LeJpegAAfficherSaMere, NULL, 85);
?>
En résumé pour les non geeks, chacun de vos votes aura servi car aura accordé 2 minutes d'affichage (toutes les 2h) à la bannière pour laquelle vous avez voté.
J'aime x) Trés trés astucieux ! et j'aimerais ajouter mon code au cas où quelqu'un aimerais s'en servir ( c'est pour afficher une image d'un dossier au hasard à chaque Actualisation de la page!)
- Code : Tout sélectionner
<?php
// Ouvre un dossier bien connu, et liste tous les fichiers
$directory = 'images/';
// Définition d'$image comme tableau
$image = array();
//on vérifie s’il s’agit bien d’un répertoire
if (is_dir($directory))
{
//on ouvre le repertoire
if ($dh = opendir($directory))
{
//Lit une entrée du dossier et readdir retourne le nom du fichier
while (($file = readdir($dh)) !== false)
{
// Vérifie de ne pas prendre en compte les dossier ...
if ($file != '...' && $file != '..' && $file != '.')
{
// On ajoute le nom du fichier dans le tableau
$image[] = $file;
}
}
//On ferme le repertoire
closedir($dh);
// On récupère le nombre d'image total
$total = count($image)-1;
// On prend une valeur au hasard entre 1 et le nombre total d'images
$aleatoire = rand(0, $total);
// On récupère le nom de l'image avec le chiffre hasard
$image_afficher = "$image[$aleatoire]";
// Affiche l'image du hasard :p
print "<img style='width: 100%; height: 100%;' src='$directory/$image_afficher'>";
}
}
?>