php生成驗證碼 原理版

2021-07-11 11:39:53 字數 1613 閱讀 2340

<?php

error_reporting(e_all);

session_start();

define ("dir_root",dirname(__file__)."/lib/");

$data = array (

2,3,4,5,6,7,8,9,'a','b','c','d','e','f','g','h','i','j','k','m','n','p',

'q','r','s','t','u','v','w','x','y','z','a','b','c','d','e','f','g',

'h','i','j','k','l','m','n','p','q','r','s','t','u','v','w','x','y','z'

);$keys = array_rand($data,4);

$code_str = $data[$keys[0]].$data[$keys[1]].$data[$keys[2]].$data[$keys[3]];

$_session["code"] = $code_str;

$img_w 

= 100; 

//驗證碼的高度

$img_h 

= 30; 

//驗證碼的寬度

$font_size 

= 15; 

//文字的大小

$font_path 

= dir_root."jdst.ttf"; 

//載入字型的位置

$scale 

= 5;  

//文字放大倍數

$img 

= imagecreatetruecolor($img_w,$img_h); 

//新建乙個真彩色影象

$fontcolor 

= imagecolorallocate($img,255,255,255); //生成的字型顏色

$background 

= imagefilledrectangle($img,0,0,$img_w,$img_h,$fontcolor);//填充畫布

//文字基準點橫座標

$base_point_x = $img_w/7;

//文字基準點縱座標

$base_point_y = $img_h/3;

$color = imagecolorallocate($img, mt_rand(0, 100), mt_rand(20, 120), mt_rand(50, 150));

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

//頭資訊

header("cache-control: no-cache, must-revalidate");

header("expires: mon, 26 jul 1997 05:00:00 gmt");

header("pragma: no-cache");

header("cache-control: private");

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

imagepng($img); 

//以png格式輸出影象

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