php实现简单验证码

来源:互联网 发布:淘宝的畅淘卡怎么办理 编辑:程序博客网 时间:2024/05/16 12:58

验证码实现

1.根据提供字母或数字随机生成四位数验证码

2.将验证码存入session中

3.将验证码放入图片中

//根据提供字符生成四位验证码$str = 'a,b,c,d,e,f,g,h,m,n,p,q,l,r,t,2,3,4,5,6,7,8,9,';$list = explode(',', $str);$max = count($list)-1;$verifyCode = '';for ($i=0; $i < 4; $i++) { $randnum = mt_rand(0,$max);$verifyCode .= $list[$randnum];}//存进session$_SESSION['code'] = $verifyCode;//设置变量从0到70和从0到30的随机数$rand_x = rand(0,70);$rand_y = rand(0,30);$color = rand(0,200);//创建画布$img = imagecreatetruecolor(70, 30);$blue = imagecolorallocate($img, 100, 190, 100);$block = imagecolorallocate($img, 255, 255, 255);//干扰元素颜色$red = imagecolorallocate($img, 255, 0, 0);$blue = imagecolorallocate($img, 0, 0, 255);$green = imagecolorallocate($img, 0, 255, 0);//干扰元素for($i=1;$i<50;$i++){imagesetpixel($img, rand(0,70), rand(0,30), $blue);imagesetpixel($img, rand(0,70), rand(0,30), $red);imagesetpixel($img, rand(0,70), rand(0,30), $green);}imagearc($img, $rand_x, $rand_y, $rand_x, $rand_y, $rand_x, $rand_y, $red);imageline($img, $rand_x, $rand_y, $rand_x, $rand_y, $green);//设置背景填充色imagefill($img, 0, 0, $blue);//把验证码放进画布imagestring($img, 18, 10, 10, $verifyCode, $block);header('Content-Type:image/png');//设置图片格式imagepng($img);imagedestroy($img);


1 0
原创粉丝点击