前端:
<img id="CodePIC" src="/api/getVerifyCode" style="width:80px; height:28px; vertical-align: middle;">
后端:
public function getVerifyCode() {
session_start();
//验证码是具有时效性的
//删除存在session中的验证码
if(isset($_SESSION['verify'])){
unset($_SESSION['verify']);
}
//生产4位验证码
$verify = '';
$str = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXY";
for($i=0; $i<4; $i++){
$t = rand(0, strlen($str)-1);
$verify.= $str[$t];
}
$_SESSION['verify'] = $verify;
//生成验证码图片
$width = 32;
$height= 93;
$img = imagecreate($height, $width); //创建图片资源
imagecolorallocate($img, 255, 255, 255); //图片背景颜色
//加入背景干扰象素
for ($i=1; $i<=50; $i++) {
$color = imagecolorallocate($img, mt_rand(200,255), mt_rand(200,255), mt_rand(200,255));
imagestring($img, 1, mt_rand(1,$height), mt_rand(1,$width), "@", $color);
//imagestring参数(资源, 字体大小, 高度, 宽度, 内容, 字体颜色)
}
//加入验证码字体
for ($i=0; $i<strlen($verify); $i++){
$color = imagecolorallocate($img, mt_rand(0,50), mt_rand(0,50), mt_rand(0,50));
imagestring($img, 5, $i*$height/4+mt_rand(2,7), mt_rand(1,$width/2-2), $verify[$i], $color);
}
Header("Content-type: image/PNG");
ImagePNG($img); //以PNG格式将图像输出到浏览器或文件
ImageDestroy($img); //释放资源
}
如有什么不懂的地方,请联系本人qq:840336847,还给新手提供以下服务:
1、加入团队参加为期1个月的实战训练并提供指导
2、提供Linux服务器,为成员部署外网访问项目环境
3、简历和就业指导等