soarli

PHP实现验证码
<?php session_start(); function _code($_width,$_heigh...
扫描右侧二维码阅读全文
22
2021/06

PHP实现验证码

AI 文章摘要
提炼中... · 本文基于 qwen2.5:14b
✨ 正在提炼文章核心脉络…
<?php

session_start();
function _code($_width,$_height){

    
}
// 随机码的个数
$_rnd_code = 4;


// 创建随机码
for ($i=0; $i < $_rnd_code; $i++) { 
    # code...

    $_nmsg .= dechex(mt_rand(0,15));


}

$_SESSION['code'] = $_nmsg;

// echo $_nmsg;

// 长和高
$_width = 75;
$_height = 25;

// 创建一张图像
$_img = imagecreatetruecolor($_width,$_height);

// 白色
$_white = imagecolorallocate($_img,255,255,255);

// 填充
imagefill($_img,0,0,$_white);

$_flag = false;
if ($_flag) {
    // 黑色边框
    $_black = imagecolorallocate($_img,0,0,0);
    // $_black = imagecolorallocate($_img,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255)); // 随机颜色的边框
    imagerectangle($_img,0,0,$_width-1,$_height-1,$_black);
}

// 随机画出6个线条
for ($i=0; $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=0; $i < 100; $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++) { 
    imagestring($_img,mt_rand(3,5),$i * $_width/$_rnd_code+mt_rand(1,10),mt_rand(1,$_height/2),$_SESSION['code'][$i],$_black);
    imagecolorallocate($_img,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200));
}

// 输出图像 1.指定表头 2.生成图像
header('Content-Type:image/png');
imagepng($_img);

// 销毁图像
imagedestroy($_img);


?>
最后修改:2021 年 06 月 25 日 10 : 44 PM

👍 相关推荐

2026 年 10 月 18 日
为什么你的 iOS 深色模式图标像个“黑洞”?原生 App 与 Safari Web App 图标规范全解析
2026 年 09 月 22 日
2026 局域网与外网远程控制终极指南:从高效办公到电竞级串流
2026 年 09 月 21 日
打造 Windows 沉浸式听书神器:解锁微软“晓晓”高音质全网划词朗读
✂️

💬 评论

0 / 1000