您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> php编程 >> 正文

php实现的加减法验证码代码

作者:佚名    责任编辑:admin    更新时间:2022-06-22

 这篇文章主要介绍了php实现的加减法验证码代码,可以使用10以内的加减法生成图片,需要的朋友可以参考下

 代码如下: <?php /*图片验证码文件,加减计算方式*/   class ImageCode{    private $Jiashu  = 0;        //加数或者减数  private $JianShu = 0;        //被加数或者被减数  private $YunSuan = '';       //运算符  private $DeShu   = 0;        //得数  private $String  = '';       //字符串样式  private $Img;                //图片对象  private $Width   = 100;      //图片宽度  private $Height  = 50;       //图片高度  private $Ttf     = 'Num.ttf';//字体文件  private $Session = 'code';   //Session变量    private function JiaShu(){   header('Content-type:image/png');   $this -> Jiashu  = rand(1, 10);   $this -> JianShu = rand(1, 10);   $this -> YunSuan= $this -> Jiashu > $this -> JianShu ? '-' : '+';   $this -> DeShu   = $this -> Jiashu > $this -> JianShu ? $this -> Jiashu - $this -> JianShu : $this -> Jiashu + $this -> JianShu;  }    public function Show( $W = 100, $H = 50, $T = 'Num.ttf', $Code = 'code' ){   $this -> JiaShu();   $this -> String = $this -> Jiashu . $this -> YunSuan . $this -> JianShu . '= ? ';   $this -> Width  = $W;   $this -> Height = $H;   $this -> Ttf    = $T;   $this -> Session= $Code;   session_start();   $_SESSION[$this -> Session] = $this -> DeShu;   $this -> Images();  }    private function Images(){   $this -> Img = imagecreate($this -> Width, $this -> Height);   $background_color = imagecolorallocate ($this -> Img, 255, 255, 255);   imagecolortransparent($this -> Img, $background_color);         imagettftext($this -> Img, 14, 0, 1, 20, imagecolorallocate ($this -> Img, 0, 0, 0), $this -> Ttf, $this -> String );   $this -> EchoImages();  }    private function EchoImages(){   imagepng($this -> Img);   imagedestroy($this -> Img);  }   }   $ImageCode = new ImageCode; $ImageCode -> Show(130, 35, 'Num.ttf', 'code');