<?php
/**
+----------------------------------------------------------
* 兄 弟 你 该 努 力 了!- 西 木
+----------------------------------------------------------
* 用 途 验证码类($_SESSION['checkstr'])
+----------------------------------------------------------
* 文 件 名 checkimg.class.php
+----------------------------------------------------------
* 时 间 2011-1-21
+----------------------------------------------------------
*/
class checkimg{
/**
* 当前验证码
*/
public $randstr=""; //验证码
/**
* 验证码长度
*/
private $randlang=5; //验证码长度
/**
* 图片信息:jpg,50,20
*/
public $imginfo='jpg,50,16'; //图片尺寸:格式,宽,高
/**
* 背景颜色:255,12,45
*/
public $bgcolor='255,255,255'; //背景颜色
/**
* 文字颜色:255,12,45
*/
public $textcolor='255,0,0'; //文字颜色
public function __construct(){ //构造函数
!isset($_SESSION) && session_start(); //开启session
$this->createrand();
}
/**
* 设置验证码长度
*/
public function setrandstr($lang){
$this->randlang=$lang;
$this->createrand();
}
/**
* 产生验证码
* 0-9=>0-9;10-35=>a-z;35-61=>A-Z
* @access public
* @param int $start //随机开始位置
* @param int $end //随机结束位置
*/
public function createrand($start=0,$end=61){ //创建随机数
$this->randstr=''; //初始化
$_array=array_merge(range(0,9),range(a,z),range(A,Z)); //10-35=>a-z;35-61=>A-Z
for($i=0;$i<$this->randlang;$i++){
$this->randstr=$this->randstr.$_array[rand(0,36)]; //得到验证码
}
$_SESSION['checkstr'] =strtolower($this->randstr); //写入session
}
/**
* 绘画
*/
public function createimg(){
list($img_type,$img_wight,$img_height)=explode(',',$this->imginfo);
$image=imagecreatetruecolor($img_wight,$img_height); //创建真彩色图片
list($bg_r,$bg_g,$bg_b)=explode(',',$this->bgcolor);
$bgcolor=imagecolorallocate($image,$bg_r,$bg_g,$bg_b); //背景颜色
imagefill($image,0,0,$bgcolor); //填充背景
list($txt_r,$txt_g,$txt_b)=explode(',',$this->textcolor);
$textcolor=imagecolorallocate($image,$txt_r,$txt_g,$txt_b); //字体颜色
imagestring($image,5,0,0,$this->randstr,$textcolor); //绘画文字
switch($img_type){ //选择图片格式并输出
case 'jpg':
header("Content-type: image/jpeg");
imagejpeg($image); break;
case 'png':
header("Content-type: image/png");
imagepng($image); break;
case 'gif':
header("Content-type: image/gif");
imagegif($image); break;
default:
header("Content-type: image/jpeg");
imagejpeg($image); break;
}
imagedestroy($image); //销毁图片
}
}