首页 > 代码库 > PHP验证码的制作
PHP验证码的制作
<?php
session_start(); //??session
//?建随机?,并保存在session中
for($i=0;$i<4;$i++)
{
$_nmsg.=dechex(mt_rand(0,15));
}
//保存到session中
$_SESSION[‘code‘]=$_nmsg;
//?置?片?和高
$_width=75;
$_height=25;
//?建一??像
$_img=imagecreatetruecolor($_width,$_height);
//白色背景
$_white=imagecolorallocate($_img,255,255,255);
//填充到背景上
imagefill($_img,0,0,$_white);
//黑色?框
$_black=imagecolorallocate($_img,0,0,0);
imagerectangle($_img,0,0,$_width-1,$_height-1,$_black);
//随即画出5个?条
for($i=0;$i<5;$i++)
{
$_rnd_color=imagecolorallocate($_img,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));
imageline($_img,mt_rand(0,$_width),mt_rand(0,$_height),mt_rand(0,$_width),mt_rand(0,$_height),$_rnd_color);
}
//雪花
for($i=0;$i<10;$i++)
{
$_rnd_color=imagecolorallocate($_img,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255));
imagestring($_img,1,mt_rand(1,$_width),mt_rand(1,$_height),"*",$_rnd_color);
}
//?出???
for($i=0;$i<strlen($_SESSION[‘code‘]);$i++)
{
imagestring($_img,5,10+$i*15,mt_rand(0,10),$_SESSION[‘code‘][$i],$_blackr);
}
//?出?像
header(‘Content-Type:image/png‘);
imagepng($_img);
//???像
imagedestroy($_img);
?>