位置: 编程技术 - 正文
推荐整理分享php封装的验证码类分享(php中验证码如何实现登录验证),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:php 验证码,php验证码实现原理,php 验证码,php 短信验证码,php验证码代码怎么写,php验证码实现原理,php验证码代码怎么写,php验证码类的封装,内容如对您有帮助,希望把文章链接给更多的朋友!
验证码是我们开发的时候经常用到的功能,所以在此本人包装了一个验证码类,应该可以作为php的类插件用,在此分享给各位读友。
实现的原理也是很简单,就是利用画布的几个函数,再加上一些字符串的获取,东凑西凑就构成了,呵呵。
这里大概写一下思路吧,其实这个类已经注释的非常清楚了,不过,个人还是在行文前??乱幌隆?/p>
首先是关于一些函数的解释,这里的解释纯属个人体会,有什么错误的地方,还请读者指正。
1、创建画布函数:imagecreatetruecolor(w,h);
说明:用于创建一个画布。
w 画布的宽
h 画布的高
此函数的返回值资源类(gd)
2、为画布创建一种颜色:imagecolorallocate(img,red,green,blue)
说明:
img画布资源
red,green,blue 是0~的范围
3、为画布添加背景色
imagefill(img,x,y,color);
说明:
在 image 图像的坐标 x,y(图像左上角为 0, 0)
4、画边框
imagerectangle($img,x1,y1,x2,y2,color);
说明:
其左上角坐标为 x1, y1,右下角坐标为 x2, y2。图像的左上角坐标为 0, 0。
3、绘制内容(字符)
imagestring(img ,size,x,y,string,color);
说明:
img画布
size是字大小 1至5
x,y是起始点
string是所要画的内容
color是颜色
4、告诉浏览器图片格式
header("Content-type:image/png");可为image/gif等等
5、输出(或保存),也可以使用第2个参数实现保存
imagepng(img【,filename】)
imagejpeg(img【,filename】)
imagegif(img【,filename】)
6、添加干扰线,本质就是直线
imageline(img,x1,y1,x2,y2,color);
说明:
img 画布
x1,y1 起点
x2,y2 终点
color 颜色
7、imagettftext ( img,size, angle, x, y, color, fontfile,text )
说明:
img 画布
size 字体大小,缺省单位像素
angle 角度
x,y 坐标点
color 颜色
fontfile 字体文件,必须是中文字体
text 内容
特别说明:这里的color参数都是imagecolorallocate()函数创建的颜色
下面是思路:
这里最先生成画布,之后就是为画布添加字符串,直线,噪点,边框,来生成验证码的,最后类返回的两个公用接口是:可供外面调用的生成验证码的画布和验证码的字符串构成,为的是给外界输出验证码画布,以及存储字符串,作为验证用
下面是代码:
最后,为了不误人子弟,还是再强调一遍:这里必须先用entry生成验证码,再用verify生成验证码的字符串,也就是必须先调用entry,然后才能够调用verify生成验证码的字符串,原因代码已经说明问题了,因为验证码的字符串是在entry方法的方法captchaImage中生成的,所以必须先调用它才行 有的地方对中文的字体要求比较高,所以,有的地方不支持中文验证码
CentOS 上搭建 PHP7 开发测试环境 最近公司增加了一台测试用的服务器,当然因为只是测试用,所以决定所有东西都装到一个服务器上,用来我们自己撸代码,发测试版功能,做点小实
浅谈PHP的反射API PHP的反射API,即在PHP运行状态下,通过分析PHP程序,可以导出对象所属的类,方法,属性,参数等信息。如何使用反射API示例代码Person.phpPerson类,包含
php批量删除操作代码分享 批量删除多条记录,对于比较多的信息,如果没有批量删除功能是非常麻烦的。1.从数据库中拿一张表过来,写个复选框进行选择可以加全选复选框连接
标签: php中验证码如何实现登录验证
本文链接地址:https://www.jiuchutong.com/biancheng/294820.html 转载请保留说明!友情链接: 武汉网站建设