国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

個人寫的PHP驗證碼生成類分享

2020-03-22 19:51:07
字體:
供稿:網(wǎng)友
此驗證碼類直接拿去就可以用,也可以參考!其中類成員codestr是生成的驗證碼字符串: * 驗證碼html' target='_blank'>class Code{ // 1. 定義各個成員 有寬、高、畫布、字?jǐn)?shù)、類型、畫類型 private $width; //寬度 private $height; //高度 private $num; //驗證碼字?jǐn)?shù) private $imgType; //生成圖片類型 private $Type; //字串類型 1,2,3 三個選項 1 純數(shù)字 2 純小寫字母 3 大小寫數(shù)字混合 private $hb; //畫布 public $codestr; // 驗證碼字串 public function __construct($height=20,$num=4,$imgType="jpeg",$Type=1){ $this- width = $num*20; $this- height = $height; $this- num = $num; $this- imgType = $imgType; $this- Type = $Type; $this- codestr = $this- codestr(); $this- zuhe(); // 2. 定義隨機(jī)獲取字符串函數(shù) private function codestr(){ switch($this- Type){ case 1: // 類型為1 獲取1-9隨機(jī)數(shù) $str = implode("",array_rand(range(0,9),$this- num)); break; case 2: // 類型為2 獲取a-z隨機(jī)小寫字母 $str = implode("",array_rand(array_flip(range(a,z)),$this- num)); break; case 3: // 類型為3 獲取數(shù)字,小寫字母,大寫字母 混合 for($i=0;$i $this- $i++){ $m = rand(0,2); switch($m){ case 0: $o = rand(48,57); break; case 1: $o = rand(65,90); break; case 2: $o = rand(97,122); break; $str .= sprintf("%c",$o); break;
private function Bg(){ return imagecolorallocate($this- hb,rand(130,250),rand(130,250),rand(130,250)); // 5. 生成字體顏色 private function Font(){ return imagecolorallocate($this- hb,rand(0,100),rand(0,100),rand(0,100)); // 6. 填充背景顏色 private function BgColor(){ imagefilledrectangle($this- hb,0,0,$this- width,$this- height,$this- Bg()); // 7. 干擾點 private function ganrao(){ $sum=floor(($this- width)*($this- height)/3); for($i=0;$i $sum;$i++){ imagesetpixel($this- hb,rand(0,$this- width),rand(0,$this- height),$this- Bg()); // 8. 隨機(jī)直線 弧線 private function huxian(){ for($i=0;$i $this- $i++){ imageArc($this- hb,rand(0,$this- width),rand(0,$this- height),rand(0,$this- width),rand(0,$this- height),rand(0,360),rand(0,360),$this- Bg()); // 9. 寫字 private function xiezi(){ for($i=0;$i $this- $i++){ $x=ceil($this- width/$this- num)*$i; $y=rand(1,$this- height-15); imagechar($this- hb,5,$x+4,$y,$this- codestr[$i],$this- Font()); // 10. 輸出 private function OutImg(){ $shuchu="image".$this- imgType; $header="Content-type:image/".$this- imgType; if(function_exists($shuchu)){ header($header); $shuchu($this- }else{ exit("GD庫沒有此類圖像"); // 11. 拼裝 private function zuhe(){ $this- Hb(); $this- BgColor(); $this- ganrao(); $this- huxian(); $this- xiezi(); $this- OutImg(); public function getCodeStr(){ return $this- codestr; PHP教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 青川县| 武夷山市| 东宁县| 宜宾县| 汶川县| 鸡西市| 临猗县| 开原市| 陆川县| 顺平县| 威海市| 连平县| 万宁市| 肃北| 阜城县| 云浮市| 灵宝市| 噶尔县| 特克斯县| 平阳县| 隆林| 海南省| 德惠市| 柞水县| 政和县| 射洪县| 灵石县| 莒南县| 来凤县| 江阴市| 普陀区| 齐齐哈尔市| 桑日县| 承德县| 许昌市| 济阳县| 保靖县| 方正县| 南澳县| 峨边| 延川县|