温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

利用PHP怎么编写一个验证码类

发布时间:2020-12-23 15:26:25 阅读:140 作者:Leah 栏目:开发技术
PHP开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

这期内容当中小编将会给大家带来有关利用PHP怎么编写一个验证码类,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

具体内容如下

<?php
 
/* 
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
Class Image{
  
 private $img;
 public $width 85;
 public $height 25;
 public $code;
 public $code_len 4;
 public $code_str "329832983DSDSKDSLKQWEWQ2lkfDSFSDjfdsfdsjwlkfj93290KFDSKJFDSOIDSLK";
 public $bg_color '#DCDCDC';
 public $font_size 16;
 public $font 'font.ttf';
 public $font_color '#000000';
  
 //创建验证码饿字符创
 public function create_code(){
  $code '';
  for$i=0;$i<$this->code_len;$i++ ){
   $code .= $this->code_str[mt_rand(0strlen($this->code_str)-1)];
 }
  return $this->code = $code;
 }
  
 //输出图像
 public function getImage(){
  $w $this->width;
  $h $this->height;
  $bg_color $this->bg_color;
  $img imagecreatetruecolor($w$h);
  $bg_color imagecolorallocate($img, 
 hexdec(substr($bg_color1,2)), hexdec(substr($bg_color3,2)), hexdec(substr($bg_color5,2)));
 imagefill($img00$bg_color);
  $this->img = $img;
  $this->create_font();
  $this->create_pix();
 $this->show_code();
 }
 
 
 //写入验证码
 public function create_font(){
  $this->create_code();
  $color $this->font_color;
  $font_color imagecolorallocate($this->img, hexdec(substr($color,1,2)), hexdec(substr($color3,2)), hexdec(substr($color,5,2)));
  $x $this->width/$this->code_len;
  for$i=0;$i<$this->code_len;$i++ ){
   $txt_color imagecolorallocate($this->img, mt_rand(0,100), mt_rand(0150), mt_rand(0200));
   imagettftext($this->img, $this->font_size, mt_rand(-3030), $x*$i+mt_rand(36), mt_rand($this->height/1.2$this->height), $txt_color$this->font , $this->code[$i]); 
   //imagestring($this->img, $this->font_size, $x*$i+mt_rand(3, 6),mt_rand(0, $this->height/4) , $this->code[$i], $font_color);
  }
  $this->font_color = $font_color;
 }
  
 //画干扰线
 public function create_pix(){
  $pix_color$this->font_color;
  for($i=0;$i<100;$i++){
   imagesetpixel($this->img, mt_rand(0$this->width),mt_rand(0$this->height), $pix_color);
  }
  for($j=0;$j<4;$j++){
   imagesetthickness($this->img, mt_rand(12));
   imageline($this->img, mt_rand(0$this->width), mt_rand(0$this->height), mt_rand(0$this->width), mt_rand(0$this->height), $pix_color);
  }
 }
  
 //得到验证码
 public function getCode(){
  return strtoupper($this->code);
 }
 
 
 //输出验证码
 private function show_code(){
  header("Content-type:image/png");
  imagepng($this->img);
  imagedestroy($this->img);
 }
}

上述就是小编为大家分享的利用PHP怎么编写一个验证码类了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php
AI

开发者交流群×