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

PHP验证码代码的方法

WBOY
WBOY原創
2016-06-13 09:33:311272瀏覽

   小编就为大家分享一个漂亮的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验证码类就这么简单,可以用了!

  源码。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn