简单的验证码

编程入门 行业动态 更新时间:2024-10-05 23:23:21

简单的<a href=https://www.elefans.com/category/jswz/34/1771040.html style=验证码"/>

简单的验证码

先创建一个画布,再随机得到验证码数,在根据自身需要添加样式

function _code( $wid = 75,$hei =25,$codenum = 4,$flag = false)//验证码,默认长为75,宽为25,验证码数位数为4
{$num='';//需要先定义,不然后面获取验证码数的时候会出错(不过没有封装为函数库的时候没有报错,封装之后会报错)for ($i = 0; $i < $codenum; $i++) {//获取随机的验证码的内容$num.= dechex(mt_rand(0,15));//dechex是将数字变为十六进制,而十六进制在}$_SESSION['code'] = $num;header("content-type:image/png");//创建画布需要的头文件$im = imagecreatetruecolor($wid, $hei);//创建一个画布$white = imagecolorallocate($im, 255, 255, 255);//定义一个白色画笔imagefill($im, 0, 0, $white);//将画布背景填充为白色$black = imagecolorallocate($im, 0, 0, 0);$color = imagecolorallocate($im, mt_rand(1, 255), mt_rand(1, 255), mt_rand(1, 255));//随机色if ($flag) {imagerectangle($im, 0, 0, $wid - 1, $hei - 1, $color);//填充边框}for ($i = 0; $i < 6; $i++) {//6条随机线条$co = imagecolorallocate($im, mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255));imageline($im, mt_rand(0, $wid), mt_rand(0, $hei), mt_rand(0, $wid), mt_rand(0, $hei), $co);//线条在画布里随机分布}for ($i = 0; $i < 100; $i++) {//100个随机*符$color = imagecolorallocate($im, mt_rand(200, 255), mt_rand(200, 255), mt_rand(200, 255)); //颜色淡imagestring($im, 1, mt_rand(1, $wid), mt_rand(1, $hei), '*', $color);}$l = strlen($_SESSION['code']);for ($i = 0; $i < $l; $i++) {imagestring($im, 20, $i * $wid / $codenum + mt_rand(1, 10), mt_rand(1, $hei / 2), $_SESSION['code'][$i], imagecolorallocate($im, mt_rand(1, 200), mt_rand(1, 200), mt_rand(1, 200)));//将验证码的内容平均分配到画布里}imagepng($im);imagedestroy($im);
}

更多推荐

简单的验证码

本文发布于:2024-02-28 13:37:45,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1769846.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:验证码   简单

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!