婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識(shí)庫 > PHP封裝的驗(yàn)證碼工具類定義與用法示例

PHP封裝的驗(yàn)證碼工具類定義與用法示例

熱門標(biāo)簽:合肥企業(yè)外呼系統(tǒng)線路 宿州正規(guī)外呼系統(tǒng)軟件 企業(yè)400電話辦理多少費(fèi)用 萍鄉(xiāng)商鋪地圖標(biāo)注 電信外呼系統(tǒng)多少錢一個(gè)月 代理打電話機(jī)器人 太原400電話申請(qǐng)流程 神龍斗士電話機(jī)器人 桂陽公司如何做地圖標(biāo)注

本文實(shí)例講述了PHP封裝的驗(yàn)證碼工具類定義與用法。分享給大家供大家參考,具體如下:

下面分享的是我自己封裝的驗(yàn)證碼工具類,在平時(shí)的項(xiàng)目中會(huì)比較經(jīng)常用到的工具類,目前封裝的這個(gè)工具類簡易版的,如果有需要的伙伴可以拿去用,當(dāng)然我建議用之前在配置文件里增加一些選項(xiàng)信息

//驗(yàn)證碼寬度
private $width;
//驗(yàn)證碼高度
private $height;
//驗(yàn)證的個(gè)數(shù)
private $length;
//干擾點(diǎn)個(gè)數(shù)
private $dots;
//干擾點(diǎn)的類型
private $type;
//干擾線個(gè)數(shù)
private $lines;
//文字
private $font;

方便在項(xiàng)目中對(duì)驗(yàn)證碼的要求進(jìn)行更改,以方便項(xiàng)目邏輯的需求,而且驗(yàn)證碼所選用的字體需要和驗(yàn)證碼工具類放在同一目錄下,否則就要在配置文件中修改字體的路徑才能實(shí)現(xiàn)驗(yàn)證碼的顯示

?php
//創(chuàng)建驗(yàn)證碼工具類
class captcha {
 //驗(yàn)證碼的各種參數(shù)
 //驗(yàn)證碼寬度
 private $width;
 //驗(yàn)證碼高度
 private $height;
 //驗(yàn)證的個(gè)數(shù)
 private $length;
 //干擾點(diǎn)個(gè)數(shù)
 private $dots;
 //干擾點(diǎn)的類型
 private $type;
 //干擾線個(gè)數(shù)
 private $lines;
 //文字
 private $font;
 //驗(yàn)證碼屬性的構(gòu)造方法
 public function __construct($arr = array ()) {
  //將屬性賦值
  $this->width = isset ($arr['width']) ? trim($arr['width']) : '270';
  $this->height = isset ($arr['height']) ? trim($arr['height']) : '30';
  $this->length = isset ($arr['length']) ? trim($arr['length']) : '4';
  $this->dots = isset ($arr['dots']) ? trim($arr['dots']) : '81';
  $this->type = isset ($arr['type']) ? trim($arr['type']) : '*';
  $this->lines = isset ($arr['lines']) ? trim($arr['lines']) : '5';
  $this->font = isset ($arr['font']) ? trim($arr['font']) : './cambriab.ttf';
 }
 //創(chuàng)建驗(yàn)證碼的方法
 public function captcha() {
  //創(chuàng)建畫布
  $img = imagecreatetruecolor($this->width, $this->height);
  //填充顏色
  //顏色資源
  $color = imagecolorallocate($img, mt_rand(200, 255), mt_rand(200, 255), mt_rand(200, 255));
  //填充背景
  imagefill($img, 0, 0, $color);
  //添加干擾點(diǎn)
  for ($i = 0; $i  $this->dots; $i++) {
   //顏色資源
   $dots_color = imagecolorallocate($img, mt_rand(150, 200), mt_rand(150, 200), mt_rand(150, 200));
   //插入干擾點(diǎn)
   imagestring($img, mt_rand(1, 5), mt_rand(0, $this->width), mt_rand(0, $this->height), $this->type, $dots_color);
  }
  //添加干擾線
  for ($i = 0; $i  $this->lines; $i++) {
   //顏色資源
   $line_color = imagecolorallocate($img, mt_rand(150, 200), mt_rand(150, 200), mt_rand(150, 200));
   //插入干擾線
   imageline($img, mt_rand(0, $this->width), mt_rand(0, $this->height), mt_rand(0, $this->width), mt_rand(0, $this->height), $line_color);
  }
  //首先獲取驗(yàn)證碼,然后插入驗(yàn)證文字
  //文字高度
  $size = mt_rand(18, 20);
  //獲取驗(yàn)證碼
  $str = $this->captchastring();
  for ($i = 0; $i  strlen($str); $i++) {
   //顏色資源
   $str_color = imagecolorallocate($img, mt_rand(50, 150), mt_rand(50, 150), mt_rand(50, 150));
   //插入驗(yàn)證碼
   imagettftext($img, $size, mt_rand(-45, 45), $this->width / ($this->length + 2) * ($i +1), (($this->height - $size) / 2) + $size, $str_color, $this->font, $str[$i]);
  }
  //將得到的驗(yàn)證碼存入SESSION中,便于以后的驗(yàn)證碼判斷
  @ session_start();
  $_SESSION['captcha'] = $str;
  //輸出圖片
  header("content-type:image/png");
  imagepng($img);
  //清除資源
  imagedestroy($img);
 }
 //獲取隨機(jī)的驗(yàn)證內(nèi)容:A-Z,a-z,1-9
 private function captchaString() {
  //獲取四個(gè)隨機(jī)的字符串
  $str = "";
  for ($i = 0; $i  $this->length; $i++) {
   switch (mt_rand(1, 3)) {
    case 1 :
     $str .= chr(mt_rand(49, 57));
     break;
    case 2 :
     $str .= chr(mt_rand(97, 122));
     break;
    case 3 :
     $str .= chr(mt_rand(65, 90));
     break;
   }
  }
  return $str;
 }
 //判斷驗(yàn)證碼
 public static function checkCaptcha($captcha) {
  @ session_start();
  return strtoupper($captcha) === strtoupper($_SESSION['captcha']);
 }
}
//使用方法:
$img = new captcha();//這里采用默認(rèn)參數(shù)
$img->captcha();
?>

運(yùn)行結(jié)果:

注:代碼中用到的字體為cambriab.ttf可完整實(shí)例代碼點(diǎn)擊此處本站下載

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP圖形與圖片操作技巧匯總》、《PHP數(shù)學(xué)運(yùn)算技巧總結(jié)》、《PHP基本語法入門教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《PHP數(shù)組(Array)操作技巧大全》及《php字符串(string)用法總結(jié)》

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • PHP基于MySQLI函數(shù)封裝的數(shù)據(jù)庫連接工具類【定義與用法】
  • 常用PHP封裝分頁工具類
  • php封裝的驗(yàn)證碼工具類完整實(shí)例
  • php封裝的pdo數(shù)據(jù)庫操作工具類與用法示例
  • PHP抓取、分析國內(nèi)視頻網(wǎng)站的視頻信息工具類
  • PHP常用工具類大全附全部代碼下載
  • PHP實(shí)現(xiàn)基于面向?qū)ο蟮膍ysqli擴(kuò)展庫增刪改查操作工具類
  • PHP實(shí)現(xiàn)可添加水印與生成縮略圖的圖片處理工具類
  • php實(shí)現(xiàn)網(wǎng)頁緩存的工具類分享
  • PHP常用的類封裝小結(jié)【4個(gè)工具類】

標(biāo)簽:辛集 白銀 崇左 太原 綏化 衡陽 廊坊 鄂州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP封裝的驗(yàn)證碼工具類定義與用法示例》,本文關(guān)鍵詞  PHP,封,裝的,驗(yàn)證,碼,工具,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PHP封裝的驗(yàn)證碼工具類定義與用法示例》相關(guān)的同類信息!
  • 本頁收集關(guān)于PHP封裝的驗(yàn)證碼工具類定義與用法示例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    99国产精品国产精品久久| 欧美色成人综合| 国产麻豆成人精品| 色老汉一区二区三区| 精品国产乱码久久久久久1区2区 | 欧美亚洲一区二区在线| 日韩精品一区二区三区视频播放 | 中文字幕不卡一区| 亚洲综合一区在线| 国产精品一区二区三区99| 精品区一区二区| 精品日产卡一卡二卡麻豆| 国产九九视频一区二区三区| 欧美国产禁国产网站cc| 色婷婷综合久久久中文字幕| 欧美不卡一区二区三区四区| 国产精品一区二区男女羞羞无遮挡 | 亚洲精选视频免费看| 国内久久精品视频| 欧美精品日韩一本| 综合久久久久久| 久久久国产精品不卡| 三级久久三级久久| 国产成人精品一区二| 色综合色综合色综合| 夜夜精品浪潮av一区二区三区| 成人午夜电影久久影院| 亚洲精品在线免费观看视频| 国产成人精品免费看| 国产精品嫩草影院com| 国产精品888| 1000部国产精品成人观看| proumb性欧美在线观看| 成人一级视频在线观看| 久久精品这里都是精品| 国产一区二区在线观看视频| 亚洲色图一区二区| 日韩欧美国产三级| 99国产精品久久久久久久久久| 日本在线不卡一区| 6080日韩午夜伦伦午夜伦| 午夜精品在线看| 欧美日韩视频在线观看一区二区三区| 美女在线一区二区| 欧美精三区欧美精三区| 高潮精品一区videoshd| 国产精品久久久久精k8| 91小视频在线| 亚洲精选免费视频| 91免费观看视频在线| 麻豆精品蜜桃视频网站| 玉足女爽爽91| 久久久久久久久久久黄色| 欧美日韩一区二区在线观看视频| 国产精品一色哟哟哟| 亚洲成a人片在线不卡一二三区| 91精品国产91久久综合桃花| 欧美日本在线看| 日韩一区二区三区视频在线 | 在线观看视频欧美| 欧美在线综合视频| 亚洲国产精品视频| 欧美一区二区视频在线观看2020 | 国产九色sp调教91| 亚洲成人高清在线| 国产精品青草久久| 精品国产乱码久久久久久久| 欧美三级在线播放| 97国产一区二区| 另类人妖一区二区av| 精品久久一区二区三区| 欧美少妇xxx| 91天堂素人约啪| 国产精品一区二区在线观看网站| 青青草精品视频| 国产亚洲成aⅴ人片在线观看| 麻豆91精品视频| 亚洲在线一区二区三区| 国产精品丝袜在线| 久久噜噜亚洲综合| 日韩欧美在线网站| 7777精品久久久大香线蕉| 亚洲午夜在线电影| 成人免费在线播放视频| 久久久久久久一区| 日韩电影在线观看网站| 亚洲欧美激情一区二区| 欧美日韩亚州综合| 色偷偷88欧美精品久久久| 波多野结衣在线一区| 亚洲午夜激情网页| 亚洲激情六月丁香| 丝袜诱惑制服诱惑色一区在线观看 | 日韩一区在线看| 精品国产91久久久久久久妲己| 91精品国产91久久久久久最新毛片| 欧美日韩综合不卡| 欧美性xxxxx极品少妇| 在线免费观看一区| 91成人免费在线视频| 96av麻豆蜜桃一区二区| 99re这里只有精品首页| av在线不卡观看免费观看| 粉嫩欧美一区二区三区高清影视| 国产成人啪午夜精品网站男同| 国产精品1区二区.| 国产东北露脸精品视频| 国产99精品国产| 成人午夜大片免费观看| av电影天堂一区二区在线| av高清久久久| 色综合中文字幕国产 | 国产麻豆精品95视频| 国产伦精品一区二区三区免费 | 激情久久五月天| 国产一区二区不卡在线| 国产成人超碰人人澡人人澡| 国产成人精品亚洲777人妖| 粉嫩高潮美女一区二区三区| av在线综合网| 色妹子一区二区| 欧美日韩国产精品成人| 欧美精三区欧美精三区| 久久综合久色欧美综合狠狠| 欧美三级资源在线| 欧美日韩极品在线观看一区| 精品视频免费在线| 欧美日韩精品一区二区三区四区| 欧美男生操女生| 欧美一区二区成人| 日韩网站在线看片你懂的| 日韩欧美成人一区二区| 精品国产sm最大网站| 日本一区二区三区四区在线视频| 欧美日韩aaa| 日韩免费成人网| 日韩女优制服丝袜电影| 精品美女一区二区| 亚洲国产精品黑人久久久| 国产午夜亚洲精品理论片色戒 | 亚洲日本在线视频观看| 亚洲午夜精品久久久久久久久| 蜜臀av性久久久久蜜臀aⅴ流畅 | 99久久精品国产麻豆演员表| 91小视频免费看| 欧美一区二区三区的| 精品国产一区二区三区忘忧草 | 欧美国产激情一区二区三区蜜月| 国产精品福利一区二区三区| 亚洲国产一区二区三区青草影视| 亚洲一区二区四区蜜桃| 日韩国产欧美在线视频| 国产成人免费高清| 91亚洲国产成人精品一区二区三| 在线不卡一区二区| 国产欧美一区二区在线| ...xxx性欧美| 男女男精品视频| jlzzjlzz亚洲日本少妇| heyzo一本久久综合| 在线视频欧美精品| 欧美精品一区二区三区很污很色的| 日韩女优av电影| 中文字幕精品一区二区三区精品| 国产网站一区二区| 久久先锋影音av| 亚洲一区二区精品久久av| 国内一区二区视频| 国产成人av一区二区三区在线观看| 欧美午夜精品电影| 国产九色精品成人porny| 日本欧美大码aⅴ在线播放| 不卡区在线中文字幕| 欧美一区二区三区在线视频| 日韩一二三区视频| 亚洲欧美偷拍三级| 激情综合一区二区三区| 日韩精品91亚洲二区在线观看| 国产在线麻豆精品观看| 在线观看欧美黄色| 欧美日韩高清一区| 欧美少妇性性性| 国产精品久久久久久久第一福利| 午夜精品久久久久| 99久久精品国产精品久久| 欧美成人一区二区三区片免费| 国产精品丝袜一区| 久久aⅴ国产欧美74aaa| 色94色欧美sute亚洲13| 91精品国产综合久久久久久久久久| 国产精品久久影院| 国产中文字幕一区| 欧美日韩视频不卡| 久久久久久久久伊人| 美女性感视频久久| 欧美色电影在线| 久久这里只精品最新地址| 久久先锋影音av鲁色资源| 美国三级日本三级久久99| 欧美亚洲国产一卡|