分享一个漂亮的php验证码类

前端之家收集整理的这篇文章主要介绍了分享一个漂亮的php验证码类前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例为大家分享了一个漂亮的PHP验证码类,供大家参考,具体内容如下

font = dirname(__FILE__).'/font/elephant.ttf';//注意字体路径要写对,否则显示不了图片 } //生成随机码 private function createCode() { $_len = strlen($this->charset)-1; for ($i=0;$i<$this->codelen;$i++) { $this->code .= $this->charset[mt_rand(0,$_len)]; } } //生成背景 private function createBg() { $this->img = imagecreatetruecolor($this->width,$this->height); $color = imagecolorallocate($this->img,mt_rand(157,255),255)); imagefilledrectangle($this->img,$this->height,$this->width,$color); } //生成文字 private function createFont() { $_x = $this->width / $this->codelen; for ($i=0;$i<$this->codelen;$i++) { $this->fontcolor = imagecolorallocate($this->img,mt_rand(0,156),156)); imagettftext($this->img,$this->fontsize,mt_rand(-30,30),$_x*$i+mt_rand(1,5),$this->height / 1.4,$this->fontcolor,$this->font,$this->code[$i]); } } //生成线条、雪花 private function createLine() { //线条 for ($i=0;$i<6;$i++) { $color = imagecolorallocate($this->img,156)); imageline($this->img,$this->width),$this->height),$color); } //雪花 for ($i=0;$i<100;$i++) { $color = imagecolorallocate($this->img,mt_rand(200,255)); imagestring($this->img,mt_rand(1,'*',$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); } }

输出实例:

使用方法: 1、先把验证码类保存为一个名为 ValidateCode.class.PHP文件; 2、新建一个名为 captcha.PHP文件进行调用该类;

captcha.PHP

doimg(); $_SESSION['authnum_session'] = $_vc->getCode();//验证码保存到SESSION中

3、引用到页面中,代码如下:

代码如下:
PHP" align="absbottom" onclick="this.src='captcha.PHP?'+Math.random();">

4、一个完整的验证页面代码如下:

PHP;">

<div class="jb51code">
<pre class="brush:xhtml;">

session <a href="/tag/tupian/" target="_blank" class="keywords">图片</a>验证实例