<?php
/**
* 类说æ:
* 使ç¨æ¶ï¼å¯æèªå·±çéè¦è®¾ç½®è¾åºå¾çç宽度åé«åº¦ï¼ä»¥åè¦äº§ççéªè¯ç 个æ°åå¹²æ°é¨å;
* 使ç¨æ¶ï¼åªéè¦å°validateå®ä¾åï¼ç¶åè°ç¨show_image()å¯çå³å¯çæéªè¯ç ã
* è·åéªè¯ç çæ¹æ³æ¯å¨å
¶å®é¡µé¢ é¦å
å¼æ·session_start(),ç¶åç´æ¥ä½¿ç¨$_SESSION['code']å³å¯;
* 注æï¼å¤§å¤æ°æ°æå¯è½ä¼éå°ä¸ä¸ªé®é¢ï¼å°±æ¯$_SESSION['code']çå¼æ»æ¯è¦æ
¢ä¸æï¼ç¨æ·å¨è¾å
¥éªè¯ç ç¹æ交åï¼
* sessionçå¼æä¼è¢«å·æ°ï¼è¿æ ·ä½¿ç¨ä¸ä¼æéï¼å¦æç´æ¥ç¨JSå»è·åå¾åå°çæ¯ä¸æ¬¡ç产çç.
* æåï¼è¯¥ç±»ç±æ¸¸å¤©å°è¾å¶ä½ï¼æ¨å¯ä»¥ä¸ä¿çæ¤ä¿¡æ¯ï¼å¯ä»»æä¼ æï¼å¦ææ¨å¯¹æ¬ç±»æä»ä¹ææï¼
* å¯åå
³é®ä»¶å°ï¼
[email protected] * æè
å å
¥æ们çç½é¡µå¶ä½äº¤æµç¾¤ï¼èä¹å ï¼ 69574955
* **/
class validate {
private $width = '80';//éªè¯ç ç宽度
private $height = '20';//éªè¯ç çé«åº¦
private $randcode = '';//éªè¯ç , æ éèµå¼ï¼åé¢ä¼éæºçæ
private $num = '4';//éªè¯ç çåæ°
private $interferon = '80';//å¹²æ°ç´ æ°é
private $line ='2';//线æ¡å¹²æ°æ¡æ°
private $im = '';//æ éèµå¼ï¼å¾çèªå¨çæ/**
* è¾å
¥ç½é¡µç±»å
* */
private function conten_type(){
header("Content_type:image/gif");
}
/***
*æå¼session
* **/
private function session_star(){
session_start();
}/**
* 产çéæºæ°
* **/
private function random(){
$this->randcode = strtoupper(substr(md5(rand()),0,$this->num));
return $this->randcode;
}
/**
* ç½®ésessionçå¼
* **/
private function resession(){
$_SESSION['code'] = $this->randcode;
}
/**
* 产çéªè¯å¾ç
***/
private function create_image(){
$this->im = imagecreate($this->width,$this->height);
imagecolorallocate ($this->im, rand(50,60), rand(150,200),rand(230,250));
return $this->im;
} /**
* 产çå¹²æ°ç´
* **/
private function create_interferon(){
for($i=0;$i<$this->interferon;$i++){
$infcolor = imagecolorallocate($this->im,rand(0,255),rand(0,255),rand(0,255));
imagesetpixel($this->im,rand(0,80),rand(0,20),$infcolor);
} } /**
* 产çå¹²æ°çº¿æ¡
* **/
private function create_line(){
for($j=0;$j<$this->line;$j++){
$lineColor = imagecolorallocate($this->im,rand(0,255),rand(0,255),rand(0,255));
imageline($this->im,rand(0,80),rand(0,20),rand(0,80),rand(0,20),$lineColor);
}
} /**
* åå
¥å符
* **/
private function read_text(){
for($i=0;$i<$this->num;$i++){
$textColor = imagecolorallocate($this->im,rand(0,100),rand(0,100),rand(0,100));
$x = rand(($this->width/$this->num*$i),($this->width/$this->num)*($i+1)-10);
$y = rand(2,$this->height-13);
imagechar($this->im,rand(4,5),$x,$y,$this->randcode[$i],$textColor);
} } /**
* è¾åºéªè¯ç å¾ç
* **/
public function show_image(){
$this->session_star();
$this->conten_type();
$this->random();
$this->resession();
$this->create_image();
$this->create_interferon();
$this->create_line();
$this->read_text();
imagepng($this->im);
imagedestroy($this->im);
}} $va = new validate(); $va->show_image();
?>