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

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

PHP中文网
PHP中文网Original
2016-05-25 17:07:102039Durchsuche

一个自己写的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)!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:php中文智能分词Nächster Artikel:一段没什么意思的代码