下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第PHP封裝的驗證碼工具類定義與用法示例本文實例講述了PHP封裝的驗證碼工具類定義與用法。分享給大家供大家參考,具體如下:
下面分享的是我自己封裝的驗證碼工具類,在平時的項目中會比較經(jīng)常用到的工具類,目前封裝的這個工具類簡易版的,如果有需要的伙伴可以拿去用,當(dāng)然我建議用之前在配置文件里增加一些選項信息
//驗證碼寬度
private$width;
//驗證碼高度
private$height;
//驗證的個數(shù)
private$length;
//干擾點(diǎn)個數(shù)
private$dots;
//干擾點(diǎn)的類型
private$type;
//干擾線個數(shù)
private$lines;
private$font;
方便在項目中對驗證碼的要求進(jìn)行更改,以方便項目邏輯的需求,而且驗證碼所選用的字體需要和驗證碼工具類放在同一目錄下,否則就要在配置文件中修改字體的路徑才能實現(xiàn)驗證碼的顯示
//創(chuàng)建驗證碼工具類
classcaptcha{
//驗證碼的各種參數(shù)
//驗證碼寬度
private$width;
//驗證碼高度
private$height;
//驗證的個數(shù)
private$length;
//干擾點(diǎn)個數(shù)
private$dots;
//干擾點(diǎn)的類型
private$type;
//干擾線個數(shù)
private$lines;
//文字
private$font;
//驗證碼屬性的構(gòu)造方法
publicfunction__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)建驗證碼的方法
publicfunctioncaptcha(){
//創(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);
//首先獲取驗證碼,然后插入驗證文字
//文字高度
$size=mt_rand(18,20);
//獲取驗證碼
$str=$this-captchastring();
for($i=0;$istrlen($str);$i++){
//顏色資源
$str_color=imagecolorallocate($img,mt_rand(50,150),mt_rand(50,150),mt_rand(50,150));
//插入驗證碼
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]);
//將得到的驗證碼存入SESSION中,便于以后的驗證碼判斷
@session_start();
$_SESSION['captcha']=$str;
//輸出圖片
header("content-type:image/png");
imagepng($img);
//清除資源
imagedestroy($img);
//獲取隨機(jī)的驗證內(nèi)容:A-Z,a-z,1-9
privatefunctioncaptchaString(){
//獲取四個隨機(jī)的字符串
$str="";
for($i=0;$i$this-length;$i++){
switch(mt_rand(1,3)){
case1:
$str.=chr(mt_rand(49,57));
break;
case2:
$str.=chr(mt_rand(97,122));
break;
case3:
$str.=chr(mt_rand(65,90));
break;
return$str;
//判斷驗證碼
publicstaticfunctioncheckCaptch
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026重慶市涪陵區(qū)武陵山鎮(zhèn)人民政府招聘公益性崗位1人參考考試題庫附答案解析
- 2025年湖口縣應(yīng)急管理局面向社會公開招聘工作人員參考考試試題附答案解析
- 2026河北雄安人才服務(wù)有限公司招聘53人備考考試試題附答案解析
- 2026上海交通大學(xué)醫(yī)學(xué)院招聘91人參考考試題庫附答案解析
- 2026浙江自然博物院(安吉館)招聘編外人員1人參考考試題庫附答案解析
- 2026山東濰坊瀚聲學(xué)校招聘生活老師備考考試試題附答案解析
- 2026年度威海榮成市事業(yè)單位公開招聘初級綜合類崗位人員(84人)備考考試試題附答案解析
- 2026年畜禽屠宰場火災(zāi)應(yīng)急救援預(yù)案演練方案
- 保密常識保密涉密載體管理最佳實踐題庫及答案
- 酒店人事部員工培訓(xùn)管理制度
- 腎囊腫護(hù)理查房要點(diǎn)
- 2025年掛面制造行業(yè)研究報告及未來發(fā)展趨勢預(yù)測
- 7.1《集體生活成就我》課件 2025-2026道德與法治七年級上冊 統(tǒng)編版
- 艾媒咨詢2025年中國新式茶飲大數(shù)據(jù)研究及消費(fèi)行為調(diào)查數(shù)據(jù)
- 遼寧省錦州市2024-2025學(xué)年八年級下學(xué)期期末物理試題(含答案)
- 頂管施工臨時用電方案
- 廣東省惠州市高三上學(xué)期第一次調(diào)研考英語試題-1
- 瀘州老窖釀酒有限責(zé)任公司釀酒廢棄物熱化學(xué)能源化與資源化耦合利用技術(shù)環(huán)評報告
- 單位微信群規(guī)定管理制度
- 公司人員服從管理制度
- 床上護(hù)理洗頭課件
評論
0/150
提交評論