• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

非常实用的php验证码类

php 搞代码 4年前 (2022-01-22) 26次浏览 已收录 0个评论

本文实例为大家分享了php验证码类,供大家参考,具体内容如下

width=$width;     $this->height=$height;     $this->codeNum=$codeNum;     $this->checkCode=$this->CreateCheckCode();     $number=floor($width*$height/25);     if ($number>240-$codeNum) {       $this->disturbColorNum=240-$codeNum;     }else{       $this->disturbColorNum=$number;     }   }      public function showImage($fontpath='') {     //创建图像背景     $this->Img_resouce();     //var_dump($img_resouce);     //设置干扰元素     $this->setDistructcolor();     //向图像中随机画出文本     $this->outputtext($fontpath);     //输出图像     $this->outputimage();   }   /**    *    *获取随机创建的验证码    */   public function getCheckCode(){        }   private function Img_resouce(){     //创建一个真彩图像     $this->img_resouce=imagecreatetruecolor($this->width,$this->height);     //随机设置图像背景     $backcolor=imagecolorallocate($this->img_resouce,rand(225,255),rand(225,255),rand(225,255));     //填充颜色     imagefill($this->img_resouce, 0, 0, $backcolor);     //设置边框背景     $border=imagecolorallocate($this->img_resouce, 0,0,0);     //画一个矩形     imagerectangle($this->img_resouce,0,0,$this->width-1,$this->height-1,$border);   }   private function setDistructcolor(){     //绘画干扰点     for ($i = 0; $i disturbColorNum; $i++) {              imagesetpixel($this->img_resouce, rand(1, $this->width-2), rand(1, $this->height-2), rand(0,255));     }          //绘画干扰线     for ($j = 0; $jimg_resouce,rand(0,255),rand(0,255),rand(0,255));       imagearc($this->img_resouce, rand(0,$this->width), rand(0,$this->height),        rand(10, 225), rand(20, 150),        55, 44, $linecolor);     }   }   private function CreateCheckCode<p>5本文来源gao!daima.com搞$代!码#网#</p><pre>搞代gaodaima码

(){ $code='23456789abcdefghijkmnpqrstuvwxyzABCDEFGHIJKMNPQRSTUVWXYZ'; $string=''; for ($i = 0; $i < $this->codeNum; $i++) { $char=$code{rand(0, strlen($code)-1)}; $string.=$char; } return $string; } private function outputtext($fontpath=''){ for ($i = 0; $i < $this->codeNum; $i++) { $fontcolor=imagecolorallocate($this->img_resouce, rand(0,128), rand(0, 128), rand(0, 128)); if ($fontpath=='') { $fontsize=rand(3, 5); $x=floor($this->width/$this->codeNum)*$i+3; $y=rand(0, $this->height-20); imagechar($this->img_resouce, $fontsize, $x, $y, $this->checkCode{$i}, $fontcolor); }else{ $fontsize=rand(12, 16); $x=floor(($this->width-8)/$this->codeNum)*$i+8; $y=rand($fontsize, $this->height-15); imagettftext($this->img_resouce,$fontsize,rand(-45,45),$x,$y,$fontcolor,fontpath,$this->checkCode{$i}); } } } private function outputimage() { if (imagetypes() & IMG_GIF) { header("Content-type: image/gif"); imagegif($this->img_resouce); }else if(imagetypes() & IMG_JPEG) { header("Content-type: image/jpeg"); imagejpeg($this->img_resouce); }else if(imagetypes() & IMG_PNG) { header("Content-type: image/png"); imagepng($this->img_resouce); }else { echo "PHP不支持的类型"; } } private function __destruct(){ imagedestroy($this->img_resouce); } } ?>


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:非常实用的php验证码类
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址