Heim >php教程 >php手册 >PHP验证码代码的方法

PHP验证码代码的方法

WBOY
WBOYOriginal
2016-06-13 09:33:311273Durchsuche

   小编就为大家分享一个漂亮的php验证码类。需要的朋友可以过来参考下!

  php验证码类代码

  width=$width;

  $this->height=$height;

  $this->counts=$counts;

  $this->distrubcode=$distrubcode;

  $this->fonturl=$fonturl;

  $this->session=$this->sessioncode();

  session_start();

  $_SESSION["code"]=$this->session;

  }

  function imageout(){

  $im=$this->createimagesource();

  $this->setbackgroundcolor($im);

  $this->set_code($im);

  $this->setdistrubecode($im);

  ImageGIF($im);

  ImageDestroy($im);

  }

  private function createimagesource(){

  return imagecreate($this->width,$this->height);

  }

  private function setbackgroundcolor($im){

  $bgcolor = ImageColorAllocate($im, rand(200,255),rand(200,255),rand(200,255));//±3?°??é?

  imagefill($im,0,0,$bgcolor);

  }

  private function setdistrubecode($im){

  $count_h=$this->height;

  $cou=floor($count_h*2);

  for($i=0;$i

  $x=rand(0,$this->width);

  $y=rand(0,$this->height);

  $jiaodu=rand(0,360);

  $fontsize=rand(8,15);

  $fonturl=$this->fonturl;

  $originalcode = $this->distrubcode;

  $countdistrub = strlen($originalcode);

  $dscode = $originalcode[rand(0,$countdistrub-1)];

  $color = ImageColorAllocate($im, rand(40,140),rand(40,140),rand(40,140));

  imagettftext($im,$fontsize,$jiaodu,$x,$y,$color,$fonturl,$dscode);

  }

  }

  private function set_code($im){

  $width=$this->width;

  $counts=$this->counts;

  $height=$this->height;

  $scode=$this->session;

  $y=floor($height/2)+floor($height/4);

  $fontsize=rand(30,35);

  $fonturl="C:\Windows\Fonts\AdobeGothicStd-Bold.otf";//$this->fonturl;

  $counts=$this->counts;

  for($i=0;$i

  $char=$scode[$i];

  $x=floor($width/$counts)*$i+8;

  $jiaodu=rand(-20,30);

  $color = ImageColorAllocate($im,rand(0,50),rand(50,100),rand(100,140));

  imagettftext($im,$fontsize,$jiaodu,$x,$y,$color,$fonturl,$char);

  }

  }

  private function sessioncode(){

  $originalcode = $this->distrubcode;

  $countdistrub = strlen($originalcode);

  $_dscode = "";

  $counts=$this->counts;

  for($j=0;$j

  $dscode = $originalcode[rand(0,$countdistrub-1)];

  $_dscode.=$dscode;

  }

  return $_dscode;

  }

  }

  PHP验证码代码实例示范 建一个输出文件代码:

  Header("Content-type: image/GIF");

  $imagecode=new Imagecode(150,2);

  $imagecode->imageout();

  PHP验证码类就这么简单,可以用了!

  源码。

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