www.adminn.cn
站长正能量分享网!

实用的一个php验证码类

AD:阿里云服务器企业会员更优惠 腾讯云香港,韩国免备案服务器1.8折优惠
  1. <?php
  2. class ImageCode{ 
  3.  private $width;//验证码图片宽度 
  4.  private $height;//验证码图片高度 
  5.  private $codeNum;//验证码字符个数 
  6.  private $checkCode;//验证码字符 
  7.  private $image;//验证码画布 
  8.  function __construct($width=60,$height=20,$codeNum=4){ 
  9.   $this->width=$width
  10.   $this->height=$height
  11.   $this->codeNum=$codeNum
  12.   $this->checkCode=$this->createCheckCode(); 
  13.  } 
  14.   
  15.  function getcreateImage(){ 
  16.   $this->getcreateImage(); 
  17.   $this->outputText(); 
  18.   $this->setDisturbColor(); 
  19.   $this->outputImage(); 
  20.  } 
  21.  function getCheckCode(){ 
  22.   return $this->checkCode; 
  23.  } 
  24.   
  25.  private function getCreateImage(){ 
  26.   $this->image=imagecreatetruecolor($this->width,$this->height); 
  27.   $black=imagecolorallocate($this->image,255,255,255,0); 
  28.   $border=imagecolorallocate($this->image,255,255,255,255); 
  29.   imagefilledrectangle($this->image,0,0,$this->width-1,$this->height-1,$border); 
  30.  } 
  31.  
  32.  private function createCheckCode(){ 
  33.   for($i=0;$i<$this->codeNum;$i){ 
  34.    $number=rand(0,2); 
  35.    switch($number){ 
  36.     case 0: 
  37.      $rand_number=rand(48,57);//数字 
  38.      break
  39.     case 1: 
  40.      $rand_number=rand(65,90);//大写字母 
  41.      break
  42.     case 2: 
  43.      $rand_number=rand(97,122); 
  44.      break
  45.    } 
  46.    $asc=sprintf("%c",$rand_number); 
  47.    $asc_number=$asc_number.$asc
  48.   } 
  49.   return $asc_number
  50.  } 
  51.  
  52.  private function setDisturbColor(){ 
  53.   for($i=0;$i<=100;$i++){ 
  54.    $color=imagecolorallocate($this->image,255,255,255); 
  55.    imagesetpixel($this->image,rand(1,$this->width-2),rand(1,$this->height-2),$color); 
  56.   } 
  57.  } 
  58.  
  59.  private function outputImage(){ 
  60.   if(imagetypes()&IMG_GIF){ 
  61.    header("Content_type:image/gif"); 
  62.    imagegif($this->image); 
  63.   }elseif(imagetypes()&IMG_JGP){ 
  64.    header("Content_type:image/jpeg"); 
  65.    imagejpeg($this->image,"",0.5); 
  66.   }else{//开源代码phpfensi.com 
  67.    die("PHP不支持图像创建"); 
  68.   } 
  69.  } 
  70.  
  71.  function __destruct(){ 
  72.   imagedestroy($this->image); 
  73.  } 
  74.  
  75. ?> 

模板优惠价: (点击购买)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《实用的一个php验证码类》
文章链接:https://www.adminn.cn/news/7412.html
本站资源模板仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。2021.5月起,网站调整,暂不再分享免费模板。谢谢理解

Adminn.Cn 站长分享圈

帝国CMS精品模板腾讯云优惠券,代金券

2次开发,学习研究使用!扫码支付后联系QQ677123发货!

支付宝扫一扫打赏