找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1991|回复: 0
打印 上一主题 下一主题

PHP实现适用于自定义的验证码类

[复制链接]

2617

主题

2617

帖子

7789

积分

论坛元老

Rank: 8Rank: 8

积分
7789
跳转到指定楼层
楼主
发表于 2018-2-14 05:35:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            本文实例为大家分享了PHP验证码类,利用对象来实现的验证码类,供大家参考,具体内容如下
code_len;$i++ ){
   $code .= $this->code_str[mt_rand(0, strlen($this->code_str)-1)];
}
  return $this->code = $code;
}
  
//输出图像
public function getImage(){
  $w = $this->width;
  $h = $this->height;
  $bg_color = $this->bg_color;
  $($w, $h);
  $bg_color = imagecolorallocate($img,
hexdec(substr($bg_color, 1,2)), hexdec(substr($bg_color, 3,2)), hexdec(substr($bg_color, 5,2)));
imagefill($img, 0, 0, $bg_color);
  $this->$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($color, 3,2)), hexdec(substr($color,5,2)));
  $x = $this->width/$this->code_len;
  for( $i=0;$icode_len;$i++ ){
   $txt_color = imagecolorallocate($this->img, mt_rand(0,100), mt_rand(0, 150), mt_rand(0, 200));
   imagettftext($this->img, $this->font_size, mt_rand(-30, 30), $x*$i+mt_rand(3, 6), 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;$iimg, mt_rand(0, $this->width),mt_rand(0, $this->height), $pix_color);
  }
  for($j=0;$jimg, mt_rand(1, 2));
   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);
}
}
效果图:

精彩专题分享:ASP.NET验证码大全 PHP验证码大全 java验证码大全
以上就是使用对象编写的验证码类的全部内容,希望对大家学习PHP程序设计有所帮助。
            
            
您可能感兴趣的文章:
  • PHP验证码类代码( 最新修改,完全定制化! )
  • 一个漂亮的php验证码类(分享)
  • 一个经典的PHP验证码类分享
  • PHP实现简单实用的验证码类
  • 非常实用的php验证码类
  • PHP编写的图片验证码类文件分享
  • 一个简单安全的PHP验证码类 附调用方法
  • 一个简单安全的PHP验证码类、PHP验证码
  • 分享一个漂亮的php验证码类
  • PHP验证码类ValidateCode解析
  • 一个实用的php验证码类
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端