/**
* _code()函数是验证码函数
* @ACCESS public
* @param int $_width 表示验证码的宽度(75)
* @param int $_height 表示验证码的高度(25)
* @param int $_rnd_code 表示验证码的个数(4)
* @param bool $_flag 表示是否开启边框(否)
*/
function _code($_width=75,$_height=25,$_rnd_code=4,$_flag=false){
//随机码的个数
for($i=1;$i<=$_rnd_code;$i++){
$_nmsg .= dechex(mt_rand(0,15));
}
$_SESSION['code'] = $_nmsg;
//创建画布
$_img = imagecreatetruecolor($_width, $_height);
//设置背景并填充
$white = imagecolorallocate($_img,255,255,255);
imagefill($_img,0,0,$white);
if($_flag){
//创建一个黑色边框
$black = imagecolorallocate($_img,100,100,100);
imagerectangle($_img, 0, 0,$_width-1,$_height-1, $black);
}
//随机划线
for($i=1;$i<=6;$i++){
$rnd_color = imagecolorallocate($_img,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));
imageline($_img,mt_rand(0,$_width),mt_rand(0,$_height),mt_rand(0,$_width),mt_rand(0,$_height),$rnd_color);
}
//随机雪花
for($i=1;$i<=6;$i++){
$rnd_color = imagecolorallocate($_img,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255));
imagestring($_img,1,mt_rand(1,$_width),mt_rand(1,$_height),'*',$rnd_color);
}
//输出验证码
for($i=0;$i<strlen($_SESSION['code']);$i++){
$rnd_color = imagecolorallocate($_img,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200));
imagestring($_img,rand(3,5),$i*$_width/4+rand(1,10),rand(1,height/2),$_SESSION['code'][$i],$rnd_color);
}
header('Content-Type:image/png');
//输出最终图形
imagepng($_img);
//销毁所有资源
imagedestroy($_img);
}
php制作简单验证码
最新推荐文章于 2021-08-11 14:35:13 发布