运行结果:
<!--vcode.class.php内容-->
<?php
class Vcode { private $width; //宽 private $height; //高 private $num; //数量 private $code; //验证码 private $img; //图像的资源//构造方法, 三个参数
function __construct($width, $height, $num) { $this->width = $width; $this->height = $height; $this->num = $num; $this->code = $this->createcode(); //调用自己的方法 }//获取字符的验证码, 用于保存在服务器中
function getcode() { return $this->code; }//输出图像
function outimg() { //创建背景 (颜色, 大小, 边框) $this->createback();//画字 (大小, 字体颜色)
//干扰元素(点, 线条)//输出图像
$this->printimg(); }//创建背景
private function createback() { //创建资源 $this->img = imagecreatetruecolor($this->width, $this->height); //设置随机的背景颜色 $bgcolor = imagecolorallocate($this->img, rand(225, 255), rand(225, 255), rand(225, 255)); //设置背景填充 imagefill($this->img, 0, 0, $bgcolor); //画边框 $bordercolor = imagecolorallocate($this->img, 0, 0, 0);imagerectangle($this->img, 0, 0, $this->width-1, $this->height-1, $bordercolor);
}//画字
private function outstring() { }//设置干扰元素
private function setdisturbcolor() { }//输出图像
private function printimg() { if (imagetypes() & IMG_GIF) { header("Content-type: image/gif"); imagegif($this->img); } elseif (function_exists("imagejpeg")) { header("Content-type: image/jpeg"); imagegif($this->img); } elseif (imagetypes() & IMG_PNG) { header("Content-type: image/png"); imagegif($this->img); } else { die("No image support in this PHP server"); } }//生成验证码字符串
private function createcode() { $codes = "3456789abcdefghijkmnpqrstuvwxyABCDEFGHIJKLMNPQRSTUVWXY";$code = "";
for($i=0; $i < $this->num; $i++) {
$code .=$codes{rand(0, strlen($codes)-1)}; }return $code;
}//用于自动销毁图像资源
function __destruct() { imagedestroy($this->img); }}