php写验证码类

原创
2016-06-23 14:31:13 872浏览

简介:这是php写验证码类的详细页面,介绍了和php,有关的知识、技巧、经验,和一些php源码等。

class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=341730' scrolling='no'>

前一段时间我写了个验证码函数, 今天做成了验证码类 有助于面向对象编程。

img.php

 1 font=ROOT_PATH.'/font/elephant.ttf';24      }25      //创建4个随机码26      private function createCode(){27          $_leng=strlen($this->charset);28          for($i=1;$i<=$this->codelen;$i++){29              $this->code.=$this->charset[mt_rand(0,$_leng)];30          }31          return $this->code;32      }33     34      //创建背景35      private function createBg(){36          //创建画布 给一个资源jubing37          $this->img=imagecreatetruecolor($this->width,$this->height);38          //背景颜色39          $color=imagecolorallocate($this->img,mt_rand(157,255),mt_rand(157,255),mt_rand(157,255));40         //画出一个矩形41         imagefilledrectangle($this->img,0,$this->height,$this->width,0,$color);42      }43     44      //创建字体45      private  function createFont(){46          $_x=($this->width / $this->codelen);   //字体长度47          for ($i=0;$i<$this->codelen;$i++){48              //文字颜色49              $color=imagecolorallocate($this->img,mt_rand(0,156),mt_rand(0,156),mt_rand(0,156));50              //资源句柄 字体大小 倾斜度 字体长度  字体高度  字体颜色  字体  具体文本51              imagettftext($this->img,$this->fontsize,mt_rand(-30,30),$_x*$i+mt_rand(1,5),$this->height/1.4,$color,$this->font,$this->code[$i]);52          }53      }54      //随机线条55      private function createLine(){56          //随机线条57          for ($i=0;$i<6;$i++){58              $color = imagecolorallocate($this->img,mt_rand(0,156),mt_rand(0,156),mt_rand(0,156));59              imageline($this->img,mt_rand(0,$this->width),mt_rand(0,$this->height),mt_rand(0,$this->width),mt_rand(0,$this->height),$color);60          }61          //随机雪花62          for ($i=0;$i<45;$i++){63              $color = imagecolorallocate($this->img,mt_rand(220,255),mt_rand(220,255),mt_rand(220,255));64              imagestring($this->img,mt_rand(1,5),mt_rand(0,$this->width),mt_rand(0,$this->height),'*',$color);65          }66      }67      //输出背景68      private  function outPut(){69           //生成标头70          header('ContentType:img/png');71          //输出图片72          imagepng($this->img);73          //销毁结果集74          imagedestroy($this->img);75      }76      //对外输出77      public  function doimg(){78          //加载背景79          $this->createBg();80          //加载文件81          $this->createCode();82          //加载线条83          $this->createLine();84          //加载字体85          $this->createFont();86          //加载背景87          $this->outPut();88  }89 90 //获取验证码91      public  function getCode(){92          return strtolower($this->code);93    }94 95 }96 97    ?>

其他页面调用方法

index.php

require 'img.php';

$img=new ValidateCode();

echo $img->doimg();

?>

过往云烟 2011/07/29

爱J2EE关注Java迈克尔杰克逊视频站JSON在线工具

http://biancheng.dnbcw.info/php/341730.html pageNo:6

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。