首页 > 代码库 > php之验证码

php之验证码

<?php
header("Content-type: image/png");
gd_info();
$num=5;//生成验证码的字母个数
$type=2;//验证码的类型,0表示只有数字,1表示数字和小写字母,2表示数字和大写字母
$str=getCode($num,$type);
$width=$num*20;
$hight=30;
$im=imagecreatetruecolor($width,$hight);

$color=imagecolorallocate($im,100,100,100);
$bg = imagecolorallocate($im,255,2,255);
imagefill($im,0,0,$bg);

###添加干扰点
for($i=0;$i<200;$i++){
        imagesetpixel($im,rand(0,$width),rand(0,$hight),$color);
}
 
###添加干扰线
for($i=0;$i<5;$i++){
        imageline($im,rand(0,$width),rand(0,$hight),rand(0,$width),rand(0,$hight),$color);
}

####在画布上画字符
for($i=0;$i<$num;$i++){
        imagechar($im,1000,5+(18*$i),8,$str[$i],$color);//图像源,字体大小,倾斜角度(0为不倾斜),起始x坐标,起始y坐标,颜色,字体文件,内容
}

//ob_clean();//清除缓冲区内

imagepng($im);
imagedestroy($im);

function getCode($num,$type)
{
        $content="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
        $t=array(9,35,strlen($content)-1);
        $c="";
        for($i=0;$i<$num;$i++)
        {
                $c.=$content[rand(0,$t[$type])];
        }
        return $c;
}
?>


本文出自 “秋风颂” 博客,请务必保留此出处http://qiufengsong.blog.51cto.com/7520243/1423722