萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> PHP驗證碼代碼的方法

PHP驗證碼代碼的方法

   小編就為大家分享一個漂亮的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<$cou;$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:WindowsFontsAdobeGothicStd-Bold.otf";//$this->fonturl;

  $counts=$this->counts;

  for($i=0;$i<$counts;$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<$counts;$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驗證碼類就這麼簡單,可以用了!

PHP驗證碼代碼的方法  三聯

  源碼。

copyright © 萬盛學電腦網 all rights reserved