php教程 案例25(驗證碼生成與驗證)

2021-10-24 01:51:12 字數 1695 閱讀 1303

t212.php

<?php

//case 25 驗證碼生成與驗證

@session_start();

//登入按鈕

if(isset($_post['login']))

else

session_destroy();

}?>

t213.php

<?php

//寬度

$img_width = 80;

//高度

$img_height = 26;

//字元數

$char_len = 5;

//字型大小

$font = 5;

//字典陣列

$char = array_merge(range('a','z'),range('a','z'),range(1,9));

//陣列隨機取5個字元

$rand_keys = array_rand($char,$char_len);

//if($char_len == 1)

//打亂陣列

shuffle($rand_keys);

$code = '';

//串聯字元

foreach ($rand_keys as $key)

@session_start();

//儲存至會話

$_session['captcha_code'] = $code;

//建立畫布

$img = imagecreatetruecolor($img_width,$img_height);

//背景顏色

$bg_color = imagecolorallocate($img,0xcc,0xcc,0xcc);

//填充背景色

imagefill($img,0,0,$bg_color);

//干擾點

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

//邊框顏色

$rect_color = imagecolorallocate($img,0xff,0xff,0xff);

//畫邊框

imagerectangle($img,0,0,$img_width-1,$img_height-1,$rect_color);

//字串顏色

$str_color = imagecolorallocate($img,mt_rand(0,100),mt_rand(0,100),mt_rand(0,100));

//單字型寬度

$font_width = imagefontwidth($font);

//單字型高度

$font_height = imagefontheight($font);

//字串寬度

$str_width = $font_width * $char_len;

//形成字串

imagestring($img,$font,($img_width-$str_width)/2,($img_height-$font_height)/2,$code,$str_color);

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

//儲存

imagepng($img);

//記憶體清除

imagedestroy($img);

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 輸...