<?php
session_start();
function generate_code($length = 6) {
$chars = '0123456789';
$code = '';
for ($i = 0; $i < $length; $i++) {
$code .= $chars[rand(0, strlen($chars) - 1)];
}
return $code;
}
$code = generate_code();
$_SESSION['code'] = $code;
// 输出验证码图片
header('Content-type: image/png');
$image = imagecreate(90, 30);
$bg_color = imagecolorallocate($image, 255, 255, 255);
$text_color = imagecolorallocate($image, 0, 0, 0);
imagestring($image, 5, 10, 8, $code, $text_color);
imagepng($image);
imagedestroy($image);
?>
这段代码实现了以下几个功能:
- 生成一个包含6个数字的随机验证码(使用了generate_code函数)
- 将生成的验证码存储到session中,以便后续校验使用
- 输出一个验证码图片,图片大小为90x30像素,背景色为白色,验证码为黑色(使用了GD库来生成图片)
该代码难度较高,需要熟悉GD库的使用以及如何生成随机数等知识点,但是对于网站开发人员来说是一个常用的功能。