生成验证码

本文介绍了一种使用PHP生成验证码的方法。通过创建画布、设置背景及边框颜色,并利用随机函数生成数字、大小写字母组合,最终形成验证码图片。此外,还利用了session保存验证码值以便后续验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?php
$im=imagecreatetruecolor(80,20);//创建画布
$bgcolor=imagecolorallocate($im,255,255,230);//调制背景色
$bodercolor=imagecolorallocate($im,0,0,255);//调制边框颜色
$tcolor=imagecolorallocate($im,255,0,0);
$green=imagecolorallocate($im,0,255,0);
imagefill($im,10,10,$bgcolor);//填充背景色
imagerectangle($im,1,1,79,19,$bodercolor);//绘制边框
$num=rand(65,90);
for($i=0;$i<4;$i++)
{
 $num_case=rand(0,2);//产生随机数0-2,根据数值的不同决定产生的是数字|小写|大写
 switch($num_case)
 {
  case 0:$num=rand(48,57);break;
  case 1:$num=rand(65,90);break;
  default:$num=rand(97,122);
 }

$text[$i]=sprintf("%c",$num);//将随机产生的ASCII码转换为相应的字符
imagettftext($im,rand(10,20),rand(0,30),15*$i+5,20,$tcolor,"simsun.ttc",$text[$i]);//显示字符
}
for($i=0;$i<100;$i++)
{
imagesetpixel($im,rand(1,79),rand(1,22),$green);
}
session_start();
$_SESSION["ckcode"]=implode($text);

header("Content-type:image/png");//设置输出类型
imagepng($im);//输出图像
imagedestroy($im);
?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值