1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
<?php
function image($mot)
{
$largeur = strlen($mot) * 10;
$hauteur = 20;
$img = imagecreate($largeur, $hauteur);
$blanc = imagecolorallocate($img, 255, 255, 255);
$noir = imagecolorallocate($img, 0, 0, 0,);
$milieuhauteur = ($hauteur / 2) - 8;
imagestring($img, 6, strlen($mot) / 2 , $milieuhauteur, $mot, $noir);
imagerectangle($img, 1, 1, $largeur - 1, $hauteur - 1, $noir); // La bordure.
// j'ajoute un fond hachuré.
for($x = 5; $x < $largeur; $x+=6)
{
Imageline($img, $x,2,$x-5,$hauteur ,$noir);
}
$couleur = Array(
imagecolorallocate($img, 0x99, 0x00, 0x66),
imagecolorallocate($img, 0xcc, 0x00, 0x00),
imagecolorallocate($img, 0x00, 0x00, 0xCC),
imagecolorallocate($img, 0x00, 0x00, 0xCC),
imagecolorallocate($img, 0xBB, 0x88, 0x77),
imageline($img, 2, $milieuhauteur + 8, $largeur - 2, $milieuhauteur + 8, $noir);
imagepng($img);
imagedestroy($img);
}
function nombre($n)
{
// je vérifie que le code est bien entré
return str_pad(mt_rand(0,pow(10,$n)-1),$n, '0', STR_PAD_LEFT);
}
function captcha()
{
$mot = nombre(6);
$_SESSION['captcha'] = $mot;
Image($mot);
}
Header("Content-type: image/png");
Captcha();
?> |
Partager