PHP用数组函数生成6位数字加字母的验证码加css
时间: 2024-05-12 22:19:09 浏览: 70
以下是一个例子,生成6位数字加字母的验证码,并使用CSS样式进行美化:
```php
<?php
// 生成随机字符串
function generateCode($length = 6) {
$chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$code = '';
for ($i = 0; $i < $length; $i++) {
$code .= $chars[rand(0, strlen($chars) - 1)];
}
return $code;
}
// 生成验证码并保存到session
session_start();
$_SESSION['code'] = generateCode();
// 输出验证码图片
header('Content-type: image/png');
$im = imagecreatetruecolor(150, 50);
$bgColor = imagecolorallocate($im, 255, 255, 255);
imagefill($im, 0, 0, $bgColor);
$codeColor = imagecolorallocate($im, 0, 0, 0);
imagettftext($im, 30, 0, 20, 40, $codeColor, 'arial.ttf', $_SESSION['code']);
imagepng($im);
imagedestroy($im);
?>
<!-- 在HTML中添加CSS样式 -->
<style>
img {
border: 1px solid #ccc;
border-radius: 5px;
box-shadow: 0 0 5px #ccc;
}
</style>
<!-- 在HTML中添加验证码图片 -->
<img src="captcha.php" alt="Verification code">
```
在上面的例子中,`generateCode`函数用于生成一个由6位数字和字母随机组成的字符串,并将其保存到`$_SESSION['code']`中。然后,使用`imagecreatetruecolor`函数创建一个150x50像素的图像,并使用`imagefill`函数将其填充为白色背景。使用`imagettftext`函数将随机字符串写入图像,并使用`imagepng`函数输出图像。最后,使用HTML和CSS将验证码图片显示在页面上,以便用户进行验证。
阅读全文