php 基於GD庫驗證碼

2021-06-08 03:16:22 字數 1302 閱讀 8106

頁面關鍵html**

請輸入驗證碼看不清 

checkcode()方法,採用ajax校驗驗證碼

呼叫gd庫類,畫驗證碼

<? 

//隨機生成乙個4位數字的驗證碼

$num='';

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

session_start(); //開啟session

$_session['yan']=substr($num,0,4); //用session記住這個驗證數字

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

$im=imagecreate(60,20); //建立乙個畫布

$back=imagecolorallocate($im,rand(0,55),rand(0,20),rand(0,5));//建立乙個背景顏色 (黑色)

$gray=imagecolorallocate($im,rand(0,255),rand(0,200),rand(0,55)); //(白色)

imagefill($im,0,0,$gray); //填充顏色

$style=array($back,$back,$back,$back,$back,$gray,$gray,$gray,$gray,$gray); //生成陣列

imagesetstyle($im,$style); //設定畫線風格

$y1=rand(0,20);

$y2=rand(0,20);

$y3=rand(0,20);

$y4=rand(0,20);

imageline($im,0,$y1,60,$y3,img_color_styled); //畫一條線

imageline($im,0,$y2,60,$y4,img_color_styled);

//在畫布上隨機生成大量黑點,起干擾作用

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

$str=rand(3,8);

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

imagepng($im);

imagedestroy($im);

?>

判斷輸入和生成是否相同**,注意前面開啟session

session_start();

//驗證驗證碼

if ($_get['y'])

}

php 使用GD庫生成驗證碼

gd庫是php進行圖象操作乙個很強大的庫。先在php.ini裡增加一行引用 extension php gd2.dll 重啟apache。做乙個測試頁 var dump gd info 輸出資料表明gd庫引用成功。表單auth.html 驗證碼title head body h1 請輸入驗證碼 h1...

PHP利用GD庫生成驗證碼

check code function check code width 100 height 50 num 4 type jpeg 將生成的num個字元拼接起來 string.sprintf c ascii 隨機生成淺色背景 imagefilledrectangle img,0 0,width h...

PHP使用GD庫封裝驗證碼類

除錯小技巧 當無法顯示時,將header函式注釋掉就可以看到報錯資訊了 字型檔案放在當前檔案目錄的font資料夾中,windows的字型可以到c windows fonts目錄下複製過來,處理好檔名即可 關於gd庫和物件導向的知識點可以看我前面幾篇隨筆,直接上 了 驗證碼類 namespace ve...