Home  >  Article  >  php教程  >  一个自己写的10以内的加减法验证码

一个自己写的10以内的加减法验证码

PHP中文网
PHP中文网Original
2016-05-25 17:07:102108browse

一个自己写的10以内的加减法验证码     

<?php
/*图片验证码文件,加减计算方式*/

class ImageCode{
	
	private $Jiashu  = 0;        //加数或者减数
	private $JianShu = 0;        //被加数或者被减数
	private $YunSuan = &#39;&#39;;       //运算符
	private $DeShu   = 0;        //得数
	private $String  = &#39;&#39;;       //字符串样式
	private $Img;                //图片对象
	private $Width   = 100;      //图片宽度
	private $Height  = 50;       //图片高度
	private $Ttf     = &#39;Num.ttf&#39;;//字体文件
	private $Session = &#39;code&#39;;   //Session变量
	
	
	
	private function JiaShu(){
		header(&#39;Content-type:image/png&#39;);
		$this -> Jiashu  = rand(1, 10);
		$this -> JianShu = rand(1, 10);
		$this -> YunSuan= $this -> Jiashu > $this -> JianShu ? &#39;-&#39; : &#39;+&#39;;
		$this -> DeShu   = $this -> Jiashu > $this -> JianShu ? $this -> Jiashu - $this -> JianShu : $this -> Jiashu + $this -> JianShu;
	}
	
	public function Show( $W = 100, $H = 50, $T = &#39;Num.ttf&#39;, $Code = &#39;code&#39; ){
		$this -> JiaShu();
		$this -> String = $this -> Jiashu . $this -> YunSuan . $this -> JianShu . &#39;= ? &#39;;
		$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, &#39;Num.ttf&#39;, &#39;code&#39;);

                                   

 以上就是一个自己写的10以内的加减法验证码的内容,更多相关内容请关注PHP中文网(www.php.cn)!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:php中文智能分词Next article:一段没什么意思的代码