Script PHP
Dans cette rubriques nous allons voir les différents scripts PHP utilisés sur le site.
Ce script permet de modifier la couleur du font, la couleur du text et la couleur des liens dynamiquement à chaque actualisation d'une page: Couleur de font dynamique:
<?
srand((double)microtime()*10000000); // pour initialiser le générateur
//de nombres aléatoires à la microseconde//Couleur de font
//Couleur font rouge
$nbfr = rand(128,255); //on choisi un nombre décimal entre 128 et 255 donc une couleur claire
$fontr = dechex($nbfr); //on convertit ce nombre en hexadécimal
while((strlen($fontr))!=2) //on ajoute un F devant le nombre convertit tant qu'il n'y a pas 2 chiffres
$fontr="F".$fontr; //il faut obligatoirement 2 chiffres par couleur
// sinon lorsqu'on concatenne les 3 nombres les couleurs ne correspondent plus
//(même commentaire pour les 2 autres couleurs)
//Couleur font vert
$nbfv = rand(128,255);
$fontv = dechex($nbfv);
while((strlen($fontv))!=2)
$fontv="F".$fontv;
//Couleur font bleu
$nbfb = rand(128,255);
$fontb = dechex($nbfb);
while((strlen($fontb))!=2)
$fontb="F".$fontb;
//concaténation des 3 couleurs RVB
$font=$fontr.$fontv.$fontb;
//même principe pour la couleur du texte sauf que l'on prend
//un nombre entre 0 et 128 donc les couleurs foncés
//Couleur txt rouge
$nbtr = rand(0,127);
$txtr = dechex($nbtr);
while((strlen($txtr))!=2)
$txtr="0".$txtr;
//Couleur txt vert
$nbtv = rand(0,127);
$txtv = dechex($nbtv);
while((strlen($txtv))!=2)
$txtv="0".$txtv;
//Couleur txt bleu
$nbtb = rand(0,127);
$txtb = dechex($nbtb);
while((strlen($txtb))!=2)
$txtb="0".$txtb;
$txt=$txtr.$txtv.$txtb;
//Couleurs liens
$alien = ($txtr-30).($txtv-10).($txtb-10);
$lien = ($txtr-60).($txtv-10).($txtb-10);
$vlien = ($txtr+60).($txtv+10).($txtb+10);
//Envoie des parramêtres des couleurs
echo "<body bgcolor='#$font' text='#$txt' link='#$lien' vlink='#$vlien' alink='#$alien'>";
?>
Ce script permet de selectioner une image au hasard dans un dossier et de l'afficher: Image animées aléatoires:
//Création de la fonction el()
function el()
{
srand((double)microtime()*1000000); //initialisation du générateur de nombres aléatoires à la microseconde
$el = rand(1,2); //on prend un nombre aléatoir qui désignera l'image et on le stoque dans el
print "<img src=./image/el/elephpant$el.gif >"; //affichage de l'image
//(elephpant1.gif ou elephpant2.gif pour notre exemple)
}
Ce script permet de créer des boutons de couleur aléatoire grâce à la librairie GD: Couleur de bouton dynamique:
<? bouton.php
Header("Content-type: image/png"); // information pour le navigateur
if(!isset($font_size)) $font_size=2; // si la taille du texte n'est pas defnit
$largeur=100; // largeur de l'image
$hauteur=20; // hauteur de l'image$image = imagecreate($largeur,$hauteur); // création de l'image
srand((double)microtime()*10000000);//initialisation du générateur de nombres aléatoires à la microseconde
//Couleur
$c_rouge = rand(40,255); // entre 40 et 255 pour ne pas avoir de couleur trop foncé
$c_vert = rand(40,255);
$c_bleu = rand(40,255);//1)
// Lorsqu'une couleur est définit l'image est créé
// couleur "claire" en fait les "deux-tiers" de la couleur d'origine
$couleur_claire = ImageColorAllocate($image,(2*$c_rouge/3),(2*$c_vert/3),(2*$c_bleu/3));
// couleur normale
$couleur_normale = ImageColorAllocate($image,$c_rouge,$c_vert,$c_bleu);
// couleur "fonce" en fait le "tiers" de la couleur d'origine
$couleur_fonce = ImageColorAllocate($image,($c_rouge/3),($c_vert/3),($c_bleu/3));
$coultxt = ImageColorAllocate($image, $r,$v,$b);// on stoque la couleur du texte dans une variable
$blanc = imageColorAllocate($image, 255,255,255); // on stoque le blanc
//2)
imageRectangle($image, 7,5,93,15, $blanc ); // on cré un rectangle blanc non rempli
//3)
//imageLine($image, y,x,y,x, $blanc );// le point de départ est en haut à gauche
imageLine($image, 0,0,20,14, $blanc ); // on trace une ligne qui va permetre
de créer l'angle et de délimiter les couleurs
imageLine($image, 0,20,20,6, $blanc );
imageLine($image, 100,0,80,14, $blanc );
imageLine($image, 100,20,80,6, $blanc );
imageLine($image, 10,10,90,10, $blanc );
//4)
imagefillToBorder( $image , 20,2, $blanc, $couleur_claire ); // on remplit la figure délimité par les lignes blanches.
//cette figure est choisit grâce au point y=20 et x=2
imagefillToBorder( $image , 2,8, $blanc, $couleur_claire );
imagefillToBorder( $image , 60,18, $blanc, $couleur_fonce );
imagefillToBorder( $image , 98,8, $blanc, $couleur_fonce );
//5)
imageFilledRectangle($image, 7,5,93,15, $couleur_normale ); // on remplit le rectangle du millieu
//6)
imagecolortransparent($image,$blanc); //on rend le blanc transparent
//7)
imageLine($image, 0,0,20,14, $couleur_normale ); // on remplace les lignes transparentes par couleur du rectangle du millieu
imageLine($image, 0,20,20,6, $couleur_normale );
imageLine($image, 100,0,80,14, $couleur_normale );
imageLine($image, 100,20,80,6, $couleur_normale );
imageLine($image, 10,10,90,10, $couleur_normale );//8)
// ImageString écrit le texte dans l'image
ImageString($image,$font_size,($largeur-ImageFontWidth($font_size)*strlen("$texte"))/2,3,$texte,$coultxt);Imagepng($image); // création d'un identifiant pour l'image
ImageDestroy($image); // vide la mémoire allouée à l'image
?>
Affichage d'un bouton:
<div align="right"><a href="liberty/php.php?choix=Variable" target="PAGE"
onmouseover="Variable.src='./graph/boutton.php?r=$txtr & v=$txtv & b=$txtb & texte=Variable'">
<img src="./graph/boutton.php?r=$txtr & v=$txtv & b=$txtb & texte=Variable" alt="Variable" border=0 name="Variable"></a>
Etape de la création des boutons (les couleurs sont aléatoires):
Réaction du script 421 si on gagne et si on perd: