首页
工具箱
Search
1
Vue vben admin 2.0的封装部分坑点
1,546 阅读
2
python生成剪映草稿解析
1,403 阅读
3
百度地图坐标系对腾讯地图坐标系转换
1,250 阅读
4
VUE中使用mathjs的方法
1,158 阅读
5
解决Ant Design Vue的Select搜索指定字段的问题
1,078 阅读
技术宅的演示性文稿
技术宅的吐槽文档
一个的舞台
唱唱反调
老文章归档
光年计划
登录
Search
标签搜索
老文章
CS
长春
大学
程序员
vue
酷游CS俱乐部
dedecms
织梦
php
vant
小程序
军训
缘
ie6
google
大连
2012
js
ecshop
茶树虾
累计撰写
306
篇文章
累计收到
125
条评论
首页
栏目
技术宅的演示性文稿
技术宅的吐槽文档
一个的舞台
唱唱反调
老文章归档
光年计划
页面
工具箱
搜索到
1
篇与
验证码
的结果
2012-07-23
PHP通过GD库生成随机验证码
<?phpfunction yzm($w=100,$h=50,$t=3,$num) {//$w=画布宽度,$h=画布高度 ,$t=验证码字符集// 1、 准备画布$img=imagecreatetruecolor($w,$h);// 2、 为画布准备调色板//$bgcolor=imagecolorallocate($img,rand(130,255),rand(130,255),rand(130,255));/* $s=imagecolorallocate($img,rand(1,130),rand(1,130),rand(1,130));$d=imagecolorallocate($img,rand(130,255),rand(130,255),rand(130,255)); */// 3、 用函数画画imagefilledrectangle($img,0,0,$w,$h,d($img));//使用for循环输出100个像素点干扰元素for($i=1;$i<=100;$i++){imagesetpixel($img,rand(0,$w),rand(0,$h),s($img));}//使用for循环输出4个椭圆形干扰元素for($i=1;$i<=4;$i++){imageellipse($img,rand(0,$w),rand(0,$w),rand(0,$w),rand(0,$w),s($img));}//进行字符匹配$str=''; //声明一个变量,给他一个空值for($i=1;$i<=$num;$i++) {if($t<3) {$type=$t;}else{$type=rand(0,2);}switch ($type) {case 0://数字$ascii=rand(48,57);break;case 1://大写字母$ascii=rand(65,90);break;case 2://小写字母$ascii=rand(97,122);break;}$str.=chr($ascii);//这里循环出来是一个数组,下面通过数组加下标的形式访问}//使用for循环出4个字母for ($i=0;$i<$num;$i++) {$x=$i*($w/$num)+10;$y=rand(2,$h-15);imagechar($img,7,$x,$y,$str[$i],s($img));}// 4、 告诉服务器你画的是什么玩意header("content-type:image/jpg");// 5、 输出到浏览器或者保存为文件imagejpeg($img);// 6、 销毁资源(画布和调色板)imagedestory($img);}//随机输出背景颜色function s($img) {return imagecolorallocate($img,rand(1,130),rand(1,130),rand(1,130));}//随机输出验证码颜色function d($img) {return imagecolorallocate($img,rand(130,255),rand(130,255),rand(130,255));}yzm(125,30,3,4); //参数.宽度,高度,0=验证码全是数字 1=大写字母 2=小写字母 3以上是数字和字母混编,有多少个验证码?>
2012年07月23日
182 阅读
0 评论
3 点赞