php使用数组生成验证码
时间: 2023-10-06 12:07:03 浏览: 109
以下是使用数组生成验证码的示例代码:
```php
<?php
session_start();
// 生成验证码
$code = '';
$chars = array('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', '2', '3', '4', '5', '6', '7', '8', '9');
for ($i = 0; $i < 4; $i++) {
$code .= $chars[rand(0, count($chars) - 1)];
}
// 将验证码保存到session中
$_SESSION['captcha_code'] = $code;
// 生成验证码图片
$im = imagecreatetruecolor(100, 30);
$bgColor = imagecolorallocate($im, 255, 255, 255);
$textColor = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 100, 30, $bgColor);
imagestring($im, 5, 20, 8, $code, $textColor);
// 输出验证码图片
header('Content-Type: image/png');
imagepng($im);
imagedestroy($im);
?>
```
在该示例中,我们使用了一个包含所有可能字符的数组来生成验证码。我们使用rand()函数在数组中随机选择字符,并将它们连接在一起以创建四位验证码。然后,我们将验证码保存到session变量中,以便稍后验证用户输入的验证码。最后,我们使用GD库创建一个包含验证码的图像,并将其作为PNG图像输出到浏览器。
阅读全文