PHP生成簡單計算的驗證碼,模仿CSDN

2021-07-06 09:34:10 字數 1516 閱讀 3008

其實跟之前我發表的漢字驗證碼和英文單詞加數字驗證碼差不多,只是多了一些邏輯的計算而已,我也是每次看到csdn的這個驗證碼好奇,所以自己造了乙個,大體看起來還不錯,也比較符合日常的**提交的驗證。

**如下:

<?php 

if(!isset($_session))

$image = imagecreatetruecolor(200, 60);

//設定驗證碼顏色 imagecolorallocate(int im, int red, int green, int blue);

$bgcolor = imagecolorallocate($image,255,255,255);

//區域填充 int imagefill(int im, int x, int y, int col) (x,y) 所在的區域著色,col 表示欲塗上的顏色

imagefill($image, 0, 0, $bgcolor);

//設定 計算的數字和操作符號

$num = array('零','一','二','三','四','五','六','七','八','九');

//操作符號

$oper = array('+'=>'加','-'=>'減','*'=>'乘');

$fontface = 'simkai.ttf';

$fontcontent = $num[array_rand($num,1)].';';

$fontcontent.= $oper[array_rand($oper,1)].';';

$fontcontent.= $num[array_rand($num,1)].';';

$fontcontent.='等於?';

$arr = explode(';',$fontcontent);

for($i=0;$i<4;$i++)

$s_1 = array_keys($num,$arr[0]);

$s_2 = array_keys($oper,$arr[1]);

$s_3 = array_keys($num,$arr[2]);

//計算結果

switch($s_2[0])

//存到session,作為提交表單的驗證

$_session['code'] = $ret;

//增加干擾元素,設定雪花點

for($i=0;$i<200;$i++)

//設定頭部,image/png

header('content-type: image/png');

imagepng($image);

imagedestroy($image);

?>

測試結果:

希望可以幫助到大家。

php生成驗證碼

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

php 生成驗證碼

驗證碼個數 num 4 驗證碼寬度 width 80 驗證碼高度 height 20 驗證碼 注意是字串 code 生成驗證碼 for i 0 i num i 驗證碼儲存到session中 session start session verifycode code 建立影象 image imagec...

php 生成驗證碼

che.php session start im imagecreatetruecolor 100,30 設定顏色 bg imagecolorallocate im,0,0,0 背景色 te imagecolorallocate im,255,255,255 字型顏色 for i 0 i 4 i 輸...