PHP生成图片验证码是一种常见的安全措施,用于防止自动化程序(如机器人)进行恶意操作,如注册、登录等。验证码通常是一段随机生成的文本或数字,显示在图片上,用户需要输入图片中的内容以验证其身份。
以下是一个简单的PHP生成图片验证码的示例代码:
<?php
session_start();
// 生成随机验证码
$code = '';
for ($i = 0; $i < 4; $i++) {
$code .= rand(0, 9);
}
// 将验证码保存到session中
$_SESSION['captcha'] = $code;
// 创建图片
$image = imagecreatetruecolor(100, 30);
$bgColor = imagecolorallocate($image, 255, 255, 255);
$textColor = imagecolorallocate($image, 0, 0, 0);
// 填充背景
imagefilledrectangle($image, 0, 0, 100, 30, $bgColor);
// 绘制验证码
imagestring($image, 5, 20, 5, $code, $textColor);
// 添加干扰线
for ($i = 0; $i < 5; $i++) {
$lineColor = imagecolorallocate($image, rand(0, 255), rand(0, 255), rand(0, 255));
imageline($image, rand(0, 100), rand(0, 30), rand(0, 100), rand(0, 30), $lineColor);
}
// 输出图片
header('Content-type: image/png');
imagepng($image);
// 销毁图片资源
imagedestroy($image);
?>
session_start()
和$_SESSION['captcha']
来保存和获取验证码。通过以上示例代码和常见问题解决方法,您可以轻松实现PHP生成图片验证码的功能,并解决常见的技术问题。
领取专属 10元无门槛券
手把手带您无忧上云