PHP 驗證碼生成類(可定製長度和內容)

2022-03-16 19:58:06 字數 2201 閱讀 6931

***************====verifytool********************==

<?php 

class

verifytool

/*** 設定驗證碼所包含的字元

* @param $str

*/public

function setchars($str

)

/*** 設定驗證碼字串長度

* @param $num

*/public

function setlength($num

)

/*** 得到驗證碼的內容(預設轉換為小寫)

* @param bool $tolower

* @return string

*/public

function getcode($tolower = true

)

else

}/**

* 繪製驗證碼影象

* @return $this

*/public

function

drawimage()

//繪製隨機點

for ($i = 0; $i

< $this->verifylen * 10; $i++)

//繪製隨機直線

for ($i = 0; $i

< $this->verifylen; $i++)

$this->verifycode = $content

;

$this->verifyimg = $image

;

return

$this

; }

/*** 顯示驗證碼

*/public

function

show()

}

verifytool.class.php

***************===使用方式********************

建立乙個verify_image.php檔案:

<?php 

//開啟session

session_start

();//

引入驗證碼工具

require_once 'verifytool.class.php';

//初始化工具(必須傳入有效的字型路徑)

$verifytool = new verifytool('../res/simhei.ttf');

//繪製影象並顯示

$verifytool->drawimage()->show();

//將驗證碼資訊儲存至session

$_session['verify_code'] = $verifytool->getcode();

如果直接開啟效果如下:

還可以為驗證工具設定引數:

$verifytool = new verifytool('../res/simhei.ttf');

//設定驗證碼字元內容

$verifytool->setchars('巧學巧用');

//設定驗證碼長度

$verifytool->setlength(10);

$verifytool->drawimage()->show();

設定引數後效果如下:

***************===驗證方式********************

建立乙個 verify_test.php 檔案:

<?php 

//如果需要使用session,必須在指令碼開始處開啟session

session_start

();?>

<?php

if (!empty($_get['mycode']))

else

}

這僅僅是測試驗證碼的小demo,如果要在其他場景下使用的話,就需要理解其中的原理,做到巧學巧用才行。

php 驗證碼生成類

created on 2013 7 19 驗證碼類 通過類的物件可以動態獲取驗證碼和驗證正碼字串。class validationcode 顯示並向瀏覽器輸出影象 function showimage function getcheckcode 建立影象 private function getcr...

php生成驗證碼類

直接看 session start class code 建立驗證碼 public function make this create 生成驗證碼 header content type image png imagepng this img imagedestroy this img exit 設...

php生成驗證碼

header content type image gif 初始化 border 0 是否要邊框 1要 0不要 how 4 驗證碼位數 w how 15 寬度 h 20 高度 fontsize 5 字型大小 alpha abcdefghijkmnopqrstuvwxyz 驗證碼內容1 字母 numb...