av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

php語言

仿照TP框架自帶的PHP驗(yàn)證碼類

時(shí)間:2024-12-29 05:46:24 php語言 我要投稿
  • 相關(guān)推薦

仿照TP框架自帶的PHP驗(yàn)證碼類

  以下百分網(wǎng)小編整理的仿照TP框架自帶的PHP驗(yàn)證碼類,大家自己導(dǎo)入字體,可以按照自己的額需要隨便修改。,更多信息請關(guān)注應(yīng)屆畢業(yè)生網(wǎng)!
  <?php
  class Imagecode{
  private $width ;
  private $height;
  private $counts;
  private $distrubcode;
  private $fonturl;
  private $session;
  function __construct($width = 120,$height = 30,$counts = 5,$distrubcode="1235467890qwertyuipkjhgfdaszxcvbnm",$fonturl="C:\Windows\Fonts\TektonPro-BoldCond.otf"){
  $this->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));//±??°????
  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:\Windows\Fonts\AdobeGothicStd-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;
  }
  }
  Header("Content-type: image/GIF");
  $imagecode=new  Imagecode(160,50);
  $imagecode->imageout();

【仿照TP框架自帶的PHP驗(yàn)證碼類】相關(guān)文章:

一個(gè)漂亮的php驗(yàn)證碼類10-04

php如何實(shí)現(xiàn)驗(yàn)證碼06-13

php實(shí)現(xiàn)驗(yàn)證碼制作08-12

PHP框架的概念07-11

php驗(yàn)證碼代碼怎么寫09-26

PHP自帶的幾個(gè)實(shí)用的數(shù)組函數(shù)08-10

如何使用PHP框架09-12

php框架Phpbean說明09-30

PHP框架是什么09-23