下面是效果图,这个效果图是没有开启干扰码的效果图
下面是类代码
复制代码 代码如下:
<?php
/************************************************
//FILE:ImageCode
//DONE:生成动态验证码类
//DATE"2010-3-31
//Author:www.5dkx.com 5D开心博客
************************************************************************/
class ImageCode{
private $width; //验证码图片宽度
private $height; //验证码图片高度
private $codeNum; //验证码字符个数
private $checkCode; //验证码字符
private $image; //验证码画布
/************************************************************************
// Function:构造函数
// Done:成员属性初始化
// Author:www.5dkx.com 5D开心博客
************************************************************************/
function __construct($width=60,$height=20,$codeNum=4)
{
$this->width = $width;
$this->height = $height;
$this->codeNum = $codeNum;
$this->checkCode = $this->createCheckCode();
}
function showImage()
{
$this->getcreateImage();
$this->outputText();
$this->setDisturbColor();
$this->outputImage();
}
function getCheckCode()
{
return $this->chekCode;
}
private function getCreateImage()
{
$this->image = imagecreatetruecolor($this->width,$this->height);
$back = imagecolorallocate($this->image,255,255,255);
$border = imagecolorallocate($this->image,255,255,255);
imagefilledrectangle($this->image,0,0,$this->width-1,$this->height-1,$border);
//使用纯白色填充矩形框,这里用的话后面干扰码失效
/*如果想用干扰码的话使用下面的*/
//imagerectangle($this->image,0,0,$this->width-1,$this->height-1,$border);
}
private function createCheckCode()
{
for($i=0;$i<$this->codeNum;$i++)
{
$number = rand(0,2);
switch($number)
{
case 0: $rand_number = rand(48,57); break;//数字
case 1: $rand_number = rand(65,90);break;//大写字母
case 2: $rand_number = rand(97,122);break;//小写字母
}
$asc = sprintf("%c",$rand_number);
$asc_number = $asc_number.$asc;
}
return $asc_number;
}
private function setDisturbColor()//干扰吗设置
{
for($i=0;$i<=100;$i++)
{
//$color = imagecolorallocate($this->image,rand(0,255),rand(0,255),rand(0,255));
$color = imagecolorallocate($this->image,255,255,255);
imagesetpixel($this->image,rand(1,$this->width-2),rand(1,$this->height-2),$color);
}
//$color = imagecolorallocate($this->image,0,0,0);
//imagesetpixel($this->image,rand(1,$this->width-2),rand(1,$this->height-2),$color);
}
private function outputText()
{
//随机颜色、随机摆放、随机字符串向图像输出
for($i=0;$i<=$this->codeNum;$i++)
{
$bg_color = imagecolorallocate($this->image,rand(0,255),rand(0,128),rand(0,255));
$x = floor($this->width/$this->codeNum)*$i+3;
$y = rand(0,$this->height-15);
imagechar($this->image,5,$x,$y,$this->checkCode[$i],$bg_color);
}
}
private function outputImage()
{
if(imagetypes()&IMG_GIF)
{
header("Content_type:image/gif");
imagegif($this->image);
}
elseif(imagetypes()&IMG_JPG)
{
header("Content-type:image/jpeg");
imagejpeg($this->image,"",0.5);
}
elseif(imagetypes()&IMG_PNG)
{
header("Content-type:image/png");
imagejpeg($this->image);
}
elseif(imagetypes()&IMG_WBMP)
{
header("Content-type:image/vnd.wap.wbmp");
imagejpeg($this->image);
}
else
{
die("PHP不支持图像创建");
}
}
function __destruct()
{
imagedestroy($this->image);
}
}
/*显示*/
/*******************************************************************
session_start();
$image = new ImageCode(60,20,4);
$image->showImage();
$_SESSION['ImageCode'] = $image->getCheckCode();
*******************************************************************/
?>
相关推荐:
SEO优化的利器:提升网站排名的秘密武器,联想ai7g-3笔记本
“更加通顺”-让生活与工作无缝衔接的语言魅力,SEO书架书桌收纳
seo要会些什么,seo需要学些什么内容 ,轻盈ai
seo渠道优化是什么,seo渠道推广怎么做 ,ai121333
企业关键字-助力企业成功的隐形动力,闽侯县企业网站建设
ChatGPT一经发布,便受到了用户的狂热追捧,引爆人工智能热潮,十代ai达人办公本
什么是亚马逊seo策略,亚马逊的seo推广是什么 ,天天学术ai写作优惠券
SEO中的别类词:提升排名,轻松超越竞争对手,ai插画生肖
ChatGPTO1免费:突破智能聊天的极限,体验AI无限可能,糯米ai唱歌
SEO但是,这些常见误区你真的知道吗?,凤岗网站建设开发
seo需要学习什么语言,做seo需要懂什么技术 ,ai软件制作教程
seo需要什么人才,seo需要做什么工作 ,探索ai照片
亚马逊seo信息是什么,亚马逊seo关键词优化软件 ,光谷ai
SEO代做:让你的企业轻松登顶搜索引擎,快速提升曝光率,seo 提高注册量
SEO自从上线后的演变与未来发展趋势,拼多多增加关键词排名
SEO优化:让你的网站在竞争中脱颖而出,临沧seo代理
AI写作技巧,让创作事半功倍!
文章AI生成:让创作变得更简单、更高效!
OpenArtAI如何进入:数字艺术的未来之门,分析海报ai
SEO百度优化:让你的品牌在搜索引擎中脱颖而出,日照网站推广策划
ChatGPT支付时银行卡被拒绝?教你几招轻松解决问题!,国内ai换图
ChatGPT界面看不到用户:隐秘的互动方式与智慧的背后,AI和UR
怎样使用AI写文章:释放创作潜能,提升写作效率
ChatGPT免费订阅的使用限制:其潜力与挑战,ai辅助线无法对齐画板
SEO数量-如何提升你的网站排名与流量?,射阳seo优化五星服务
“关键词指白”:揭秘如何通过精准关键词优化实现流量暴增,全面分析网站seo
ChatGPTWindows版本:让AI助手成为你的工作与生活得力助手,Ai相减变形
seo网络推广要做什么,seo 网络推广 ,ai少女喝药
从“官网扒下来”看企业数字化转型的未来,摄影营销策略推广文案
ChatGPT内部HTTP接口文档-为开发者提供高效便捷的AI服务接入方式,安屿ai
个性化广告:新时代营销的秘密武器,建设经营性网站怎么记账
SEO就业前景如何?打造数字时代的职业新风口,常州武进区水产网站建设
seo网络培训是什么,seo工作培训会培训啥 ,ai长投影字
ChatGPT回答问题,网页无法线下滚动?解决方案轻松get!,谷歌AI铃声
中外链:打通全球流量的桥梁,提升网站排名与流量的双重保障,行业网站建设思路
SEO技巧提升网站流量:打造高效网站的关键策略,Ai测脸相
SEO基础知识解析:如何提升网站排名,助力企业成长,毕节企业建设网站
SEO精通:让你的内容在搜索引擎中脱颖而出,跨境电商 推广营销
为什么seo这么麻烦,seo是什么意思 为什么要做seo ,dota1ai地图命令选ai
seo黑帽是什么,列举几种seo黑帽行为 ,穿老款的ai丢人吗
ChatGPT崩了?用户称打开是一片空白,真相竟然如此!,zzz*明星AI换脸
【SEO优化全攻略】提升网站流量的终极秘籍,带你轻松玩转搜索引擎优化!,金融网站推广维护
用AI征文工具,轻松创作出精彩文章!
文章创作AI:引领智能写作的新时代
AI上的文章属于原创吗?人工智能创作内容的归属问题
SEO兼职:如何通过SEO兼职实现收入增长与职业突破,濮阳网站建设官网
seo网站编辑是做什么,seo网站编辑可在家兼职 ,ai慢直播
SEO关键词利器:如何借助精准关键词提升网站流量与排名,ai绘画客户
seo用什么法宝,列出5种seo赚钱方式 ,ai怎么更改文档样式
优排软件:高效管理新天地,轻松提升工作效率,长葛外贸网站建设