本文共 1328 字,大约阅读时间需要 4 分钟。
session_start();
// 随机码个数
$_rnd_code = 4;
// 创建随机码
global $_rnum ;
for ($i = 0; $i < 4; $i ++) {
$_rnum .= dechex(mt_rand(0, 15));
}
// 保存到session中
$_SESSION["code"] = $_rnum;
// echo $_rnum;
// 创建图像
$width = 75;
$height = 25;
$_img = imagecreatetruecolor($width, $height);
// 设置背景色
$_white = imagecolorallocate($_img, 255, 255, 255);
imagefill($_img, 0, 0, $_white);
// 设置边框
$_black = imagecolorallocate($_img, 0, 0, 0);
// imagerectangle($_img, 0, 0, $width - 1, $height - 1, $_black);
// 设置随机线条
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 < 50; $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, 5, $i * $width / $_rnd_code + mt_rand(1, 10), mt_rand(1, $height / 2), $_SESSION['code'][$i], $_rnd_color);
}
// 输出图像
header('Content-Type:image/png');
imagepng($_img);
imagedestroy($_img);
?>
调用:
转载地址:http://wodqv.baihongyu.com/