用php生成随机验证码图片,兼容所有软件
时间: 2023-08-04 14:12:05 浏览: 95
以下是用 PHP 生成随机验证码图片的示例代码,可以兼容所有软件:
```php
<?php
// 设置响应头为图片格式
header('Content-Type: image/png');
// 定义验证码图片的宽度和高度
$width = 120;
$height = 40;
// 创建一个空白的验证码图片
$image = imagecreatetruecolor($width, $height);
// 定义验证码的字符集
$chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
// 随机生成四个字符作为验证码
$code = '';
for ($i = 0; $i < 4; $i++) {
$code .= $chars[rand(0, strlen($chars) - 1)];
}
// 将验证码存储到 session 中,用于后续验证
session_start();
$_SESSION['captcha'] = $code;
// 定义验证码图片的背景色和文本颜色
$bgColor = imagecolorallocate($image, 255, 255, 255);
$textColor = imagecolorallocate($image, 0, 0, 0);
// 填充背景色
imagefill($image, 0, 0, $bgColor);
// 在图片上画出验证码文本
imagettftext($image, 20, 0, 30, 30, $textColor, 'arial.ttf', $code);
// 输出图片
imagepng($image);
// 释放资源
imagedestroy($image);
?>
```
在上面的示例代码中,我们使用 `imagecreatetruecolor` 函数创建一个指定宽度和高度的空白图片,使用 `imagettftext` 函数将随机生成的验证码文本画在图片上,并使用 `imagepng` 函数输出图片。最后,我们将验证码存储在 session 中,用于后续验证。注意,为了保证兼容性,我们需要使用 TrueType 字体文件,如上面的示例代码中使用的 `arial.ttf`。
阅读全文