自动生成验证码
Image.php
session_start(); //启动session
header('content-type:p_w_picpath/gif'); //输出头信息
$p_w_picpath_w=100; //验证码图形的高
$p_w_picpath_h=25; //验证码图形的宽
$number=range(0,9); //定义一个成员为数字的数组
$character=range("Z","A");定义一个成员为大写字母的数组
$result=array_merge($number,$character); //合并两个数组
$string=""; //初始化
$len=count($result); //新数组的长
for ($i=0;$i<4;$i++)
{
$new_number[$i]=$result[rand(0, $len-1)]; //在$result数组中随机取出4个字符
$string=$string.$new_number[$i]; //生成验证码字符串
}
$_SESSION['string']=$string; //使用$_SESSION变量传值
$check_p_w_picpath=p_w_picpathcreatetruecolor($p_w_picpath_w, $p_w_picpath_h); //创建图片对象
$white=p_w_picpathcolorallocate($check_p_w_picpath,255,255,255);
$black=p_w_picpathcolorallocate($check_p_w_picpath, 0, 0, 0);
p_w_picpathfill($check_p_w_picpath,0,0,$white); //设置背景颜色为白色
for ($i;$i<100;$i++) //加入100个干扰的黑点
{
p_w_picpathsetpixel($check_p_w_picpath, rand(0, $p_w_picpath_w), rand(0, $p_w_picpath_h), $black);
}
for ($i=0;$i
{
$x=mt_rand(1, 8)+$p_w_picpath_w*$i/4; //设定字符所在位置X坐标
$y=mt_rand(1, $p_w_picpath_h/4); //设定字符所在位置Y坐标
//随机设定字符颜色
$color=p_w_picpathcolorallocate($check_p_w_picpath,mt_rand(0,200),mt_rand(0,200),mt_rand(0,200));
//输入字符到图片中
p_w_picpathstring($check_p_w_picpath,5,$x,$y,$new_number[$i],$color);
}
p_w_picpathpng($check_p_w_picpath);
p_w_picpathdestroy($check_p_w_picpath);
?>