一个漂亮的PHP验证码
来源:互联网 发布:淘宝千人千面步骤 编辑:程序博客网 时间:2024/04/28 02:40
[导读] 自己导入字体,可以按照自己的额需要随便修改。<?phpclass Imagecode{private $width ;private $height;private $counts;private $distrubcode;private $fonturl;private $session;function __construc...
<?phpclass Imagecode{private $width ;private $height;private $counts;private $distrubcode;private $fonturl;private $session;function __construct($width = 120,$height = 30,$counts = 5,$distrubcode="1235467890qwertyuipkjhgfdaszxcvbnm",$fonturl="C:\Windows\Fonts\TektonPro-BoldCond.otf"){$this->width=$width;$this->height=$height;$this->counts=$counts;$this->distrubcode=$distrubcode;$this->fonturl=$fonturl;$this->session=$this->sessioncode();session_start();$_SESSION['code']=$this->session;} function imageout(){$im=$this->createimagesource();$this->setbackgroundcolor($im);$this->set_code($im);$this->setdistrubecode($im);ImageGIF($im);ImageDestroy($im); }private function createimagesource(){return imagecreate($this->width,$this->height);}private function setbackgroundcolor($im){$bgcolor = ImageColorAllocate($im, rand(200,255),rand(200,255),rand(200,255));//±³¾°ÑÕÉ«imagefill($im,0,0,$bgcolor);}private function setdistrubecode($im){$count_h=$this->height;$cou=floor($count_h*2);for($i=0;$i<$cou;$i++){$x=rand(0,$this->width);$y=rand(0,$this->height);$jiaodu=rand(0,360);$fontsize=rand(8,15);$fonturl=$this->fonturl;$originalcode = $this->distrubcode;$countdistrub = strlen($originalcode);$dscode = $originalcode[rand(0,$countdistrub-1)];$color = ImageColorAllocate($im, rand(40,140),rand(40,140),rand(40,140));imagettftext($im,$fontsize,$jiaodu,$x,$y,$color,$fonturl,$dscode);}}private function set_code($im){$width=$this->width;$counts=$this->counts;$height=$this->height;$scode=$this->session;$y=floor($height/2)+floor($height/4);$fontsize=rand(30,35);$fonturl="C:\Windows\Fonts\AdobeGothicStd-Bold.otf";//$this->fonturl;$counts=$this->counts;for($i=0;$i<$counts;$i++){$char=$scode[$i];$x=floor($width/$counts)*$i+8;$jiaodu=rand(-20,30);$color = ImageColorAllocate($im,rand(0,50),rand(50,100),rand(100,140));imagettftext($im,$fontsize,$jiaodu,$x,$y,$color,$fonturl,$char);}}private function sessioncode(){$originalcode = $this->distrubcode;$countdistrub = strlen($originalcode);$_dscode = "";$counts=$this->counts;for($j=0;$j<$counts;$j++){$dscode = $originalcode[rand(0,$countdistrub-1)];$_dscode.=$dscode;}return $_dscode;}}Header("Content-type: image/GIF");$imagecode=new Imagecode(160,50);$imagecode->imageout();
原文转载: http://www.php100.com/html/php/hanshu/2013/1106/6350.html
- PHP一个漂亮的验证码
- 一个漂亮的PHP验证码
- 一个漂亮的PHP验证码
- 一个漂亮的php验证码类
- 分享一个漂亮的php验证码类
- 一个漂亮的php验证码类(分享)
- 一个漂亮的php验证码类(分享)
- 一个漂亮的php验证码类(分享)
- 漂亮的 PHP 验证码类
- 漂亮的 PHP 验证码类
- 漂亮的 PHP 验证码类
- 漂亮的php验证码类
- 很有用的一个验证码,很漂亮 方便
- php验证码类(很漂亮、实用)
- php验证码类(漂亮、实用)
- 漂亮好使的验证码
- 一款漂亮的验证码(jsp)
- asp.net 一款漂亮的验证码
- 读写文件
- $表示jquery,jquery对象都是通过$()函数构造出来的,就是一个jquery对象的构造工厂
- java字符占16位
- 怎么查看自己电脑上开了哪些共享?
- 【转】mysql的数据恢复
- 一个漂亮的PHP验证码
- MFC消息机制
- Spring 几种注入方法
- jQueryEasyUI Messager基本使用
- solr4.40导入mysql数据库数据建立索引
- 集合视图UICollectionView 介绍及其示例程序
- js取消按键事件的默认行为
- WPF应用程序支持多国语言解决方案
- Opengl和windows的逻辑坐标到设备坐标转换的理解