在ThinkPHP中生成中文驗證碼

2022-07-31 13:27:13 字數 614 閱讀 3486

在perl和php中生成中文最關鍵的一點是需要設定乙個可以顯示中文的字型。

在linux平台上,我們可以把windows下的雅黑檔案拷過去。

在控制面板-字型裡可以拷貝雅黑字型檔案:

放在ubuntu的/usr/share/fonts/vista下。

perl的關鍵**類似下面所示:

這樣我們可以生成如下所示的:

thinkphp包含乙個image類,裡面有乙個buildstring方法可以生成所需的驗證碼,但是只限於數字和英文本元。同時這個方法的**也有不少問題,例如引數沒有$size、$font的傳遞,高度寫死為22px等等。

所以我們可以自行實現乙個image類或者方法,對這個方法進行一些改進:

最主要的乙個改進是將:@imagestring($im, 5, 5, 5, $string, $color)

修改為@imagettftext($im, $size, $angel, $x, $y, $color, $font_path, $string)

$font無疑就是所需的字型路徑,如果需要可以切換多個字型的話,可以加入判斷:

關於隨機中文字元的產生,可以呼叫thinkphp的org/util/string類的rand_string方法。

在ThinkPHP中生成中文驗證碼

在perl和php中生成中文最關鍵的一點是需要設定乙個可以顯示中文的字型。在linux平台上,我們可以把windows下的雅黑檔案拷過去。在控制面板 字型裡可以拷貝雅黑字型檔案 放在ubuntu的 usr share fonts vista下。perl的關鍵 類似下面所示 gd image true...

在delphi中生成GUID

什麼是 guid guid 的格式為8 4 4 4 12 xx x x x 其中每個 x 是 0 9 或 a f 範圍內的乙個十六進製制的數字。例如 6f9619ff 8b86 d011 b42d 00c04fc964ff 即為有效的 guid 值。為什麼要使用 guid 世界上的任何兩台計算機都不...

在matlab中生成m序列

實驗環境為matlab2013b 1 首先編寫乙個mseq.m檔案,內容為 function mseq m sequence fbconnection n length fbconnection n 2 n 1 register zeros 1,n 1 1 移位暫存器的初始狀態 mseq 1 reg...