Dowemo
0 0 0 0

<?php
//验证码类
class ValidateCode {
private $charset = 'abcdefghkmnprstuvwxyzABCDEFGHKMNPRSTUVWXYZ23456789';//随机因子
 private $code;//验证码
 private $codelen = 4;//验证码长度
 private $width = 130;//宽度
 private $height = 50;//高度
 private $img;//图形资源句柄
 private $font;//指定的字体
 private $fontsize = 20;//指定字体大小
 private $fontcolor;//指定字体颜色
//构造方法初始化
 public function __construct() {
 $this->font = ROOT_PATH.'/font/elephant.ttf';
 }
//生成随机码
 private function createCode() {
 $_len = strlen($this->charset)-1;
 for ($i=0;$i<$this-&gt;codelen;$i++) {
 $this-&gt;code. = $this->charset[mt_rand(0,$_len)];
 }
 }
//生成背景
 private function createBg() {
 $this-&gt;img = imagecreatetruecolor($this->width, $this->height);
 $color = imagecolorallocate($this->img, mt_rand(157,255), mt_rand(157,255), mt_rand(157,255));
 imagefilledrectangle($this-&gt;img,0,$this->height,$this-&gt;width,0,$color);
 }
//生成文字
 private function createFont() { 
 $_x = $this->width/$this->codelen;
 for ($i=0;$i<$this-&gt;codelen;$i++) {
 $this-&gt;fontcolor = imagecolorallocate($this->img,mt_rand(0,156),mt_rand(0,156),mt_rand(0,156));
 imagettftext($this-&gt;img,$this->fontsize,mt_rand(-30,30),$_x*$i+mt_rand(1,5),$this-&gt;height/1.4,$this->fontcolor,$this-&gt;font,$this->code[$i]);
 }
 }
//生成线条、雪花
 private function createLine() {
 for ($i=0;$i<6;$i++) {
 $color = imagecolorallocate($this->img,mt_rand(0,156),mt_rand(0,156),mt_rand(0,156));
 imageline($this-&gt;img,mt_rand(0,$this->width),mt_rand(0,$this-&gt;height),mt_rand(0,$this->width),mt_rand(0,$this-&gt;height),$color);
 }
 for ($i=0;$i<100;$i++) {
 $color = imagecolorallocate($this->img,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255));
 imagestring($this-&gt;img,mt_rand(1,5),mt_rand(0,$this->width),mt_rand(0,$this-&gt;height),&#39;*&#39;,$color);
 }
 }
//输出
 private function outPut() {
 header('Content-type:image/png');
 imagepng($this->img);
 imagedestroy($this->img);
 }
//对外生成
 public function doimg() {
 $this->createBg();
 $this->createCode();
 $this->createLine();
 $this->createFont();
 $this->outPut();
 }
//获取验证码
 public function getCode() {
 return strtolower($this->code);
 }
}

Output I tance:

Use methods:

1, save the verification code class as a file named ValidateCode.class.php;

2, make a file called code.php to call the class;

Code. Php.

<?php
 require './ValidateCode.class.php';//先把类包含进来,实际路径根据实际情况进行修改。
 $_vc = new ValidateCode();//实例化一个对象
 $_vc->doimg(); 
 $_SESSION[&#39;code&#39;] = $_vc->getCode();//验证码保存到SESSION中
?>

3, reference to the page, the code is as follows:

</pre><pre class="html" name="code"><label><img src="./code.php" onclick="javascript:this.src='./code.php?tm='+Math.random();"/></label>


download address:http://pan. Baidu. com/s/1bngYmM7.




Copyright © 2011 Dowemo All rights reserved.    Creative Commons   AboutUs