介绍
怎么在php中利用验证码实现一个验证码功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
验证码类文件如下:
& lt; php ?/* *,Captcha 验证码类 *,日期:2011-02-19 *,作者:fdipzone */验证码{class //class 开始=,private sname 美元;& # 39;& # 39;; ,public function  __construct ($ sname=& # 39; & # 39;){//大敌;sname 美元;captcha session 名字 ,$ this→sname =, sname美元==& # 39;& # 39;?,& # 39;m_captcha& # 39;,:, sname美元; ,} ,/* *生成验证码图片 ,* @param int  length 美元;验证码长度 ,* @param Array  param 美元;參數 ,* @return IMG ,*/,public function 创建数组(长度=4,param美元=()){ ,头(“内容类型:图像/PNG"); 美元,美元authnum =,这→随机长度($);,//生成验证码字符。 , ,width 美元;=,收取(param美元[& # 39;宽度# 39;])?,param美元[& # 39;宽度# 39;],:,13,,//文字宽度 ,height 美元;=,收取(param美元[& # 39;高度# 39;])?,param美元[& # 39;高度# 39;],:,18,,//文字高度 ,pnum 美元;=,收取(param美元[& # 39;pnum& # 39;]) ?, param美元[& # 39;pnum& # 39;],:, 100;,//干扰象素个数 ,lnum 美元;=,收取(param美元[& # 39;lnum& # 39;]) ?, param美元[& # 39;lnum& # 39;],,, 2,,//干扰线条数 ,$ this→captcha_session ($ this→sname, authnum美元);,,//将随机数写入会话 ,pw 美元;=,宽度*长度+ 10美元; 美元,美元ph =, + 6高度; ,, 美元,我=,imagecreate (pw, ph值美元);,,,//imagecreate(),新建图像,大小为,x_size 和,y_size 的空白图像。 ,black 美元;=,ImageColorAllocate (im美元,,238238238);,//设置背景颜色 , ,values 美元;=,阵列( ,,mt_rand (0, pw美元),mt_rand (0, ph值美元), ,,mt_rand (0, pw美元),mt_rand (0, ph值美元), ,,mt_rand (0, pw美元),mt_rand (0, ph值美元), ,,mt_rand (0, pw美元),mt_rand (0, ph值美元), ,,mt_rand (0, pw美元),mt_rand (0, ph值美元), ,,mt_rand (0, pw美元),mt_rand (0, ph值美元) ,); ,imagefilledpolygon (im,美元,美元价值,,6日,ImageColorAllocate (im美元,mt_rand (170255), mt_rand (200255), mt_rand(210255))),,//设置干扰多边形底图 , ,/*文字,*/,for ($小姐:=,0;,美元小姐:& lt;, strlen ($ authnum);,我+ +美元){=美元才能font ImageColorAllocate (im美元,mt_rand (0, 50), mt_rand (0150), mt_rand(0200));//设置文字颜色 时间=美元才能x i/length 美元;*,pw 美元;+,兰德(1,,6);,//设置随机X坐标 美元才能y =,兰德(1,ph/3美元),,,,//设置随机Y坐标 imagestring才能(im,美元,mt_rand (4、6), $ x, y,美元,substr (authnum美元,美元我,1),字体美元),, ,} ,/*加入干扰象素,*/,(我=0;美元,美元i怎么在php中利用验证码实现一个验证码功能