怎么在php中利用验证码实现一个验证码功能

  介绍

怎么在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中利用验证码实现一个验证码功能