php的验证码要gd库,怎么在PHP中使用GD库实现一个验证码功能
怎么在PHP中使用GD库实现一个验证码功能
发布时间:2021-02-15 08:16:44
来源:亿速云
阅读:83
作者:Leah
本篇文章给大家分享的是有关怎么在PHP中使用GD库实现一个验证码功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
具体实现:<?php
/*PHP实现验证码*/
session_start();//开启会话
//创建画布
$image=imagecreatetruecolor(100,38);
//背景颜色
$bgcolor=imagecolorallocate($image,255,255,255);
imagefill($image,0,0,$bgcolor);
$captch_code='';//存储验证码
//随机选取4个数字
for($i=0;$i<4;$i++){
$fontsize=10; //
$fontcolor=imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120));//随机颜色
$fontcontent=rand(0,9);
$captch_code.=$fontcontent;
$x=($i*100/4)+rand(5,10); //随机坐标
$y=rand(5,10);
imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);
}
/*//字母和数字混合验证码
for($i=0;$i<4;$i++) {
$fontsize = 10; //
$fontcolor = imagecolorallocate($image, rand(0, 120), rand(0, 120), rand(0, 120));//??????
$data = 'abcdefghijklmnopqrstuvwxyz1234567890'; //数据字典
$fontcontent = substr($data, rand(0, strlen($data)), 1);
$captch_code.=$fontcontent;
$x = ($i * 100 / 4) + rand(5, 10);
$y = rand(5, 10);
imagestring($image, $fontsize, $x, $y, $fontcontent, $fontcolor);
}*/
$_SESSION['code']=$captch_code;
//增加干扰点
for($i=0;$i<200;$i++){
$pointcolor=imagecolorallocate($image,rand(50,200),rand(50,200),rand(50,200));
imagesetpixel($image,rand(1,99),rand(1,29),$pointcolor);//
}
//增加干扰线
for($i=0;$i<3;$i++){
$linecolor=imagecolorallocate($image,rand(80,280),rand(80,220),rand(80,220));
imageline($image,rand(1,99),rand(1,29),rand(1,99),rand(1,29),$linecolor);
}
//输出格式
header('content-type:image.png');
imagepng($image);
//销毁图片
imagedestroy($image);
实现表单的连接和“换一个”功能的实现:
" alt="验证码">
换一个
以上就是怎么在PHP中使用GD库实现一个验证码功能,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
php的验证码要gd库,怎么在PHP中使用GD库实现一个验证码功能相关推荐
- java使用外部库_在Java中使用外部库
java使用外部库 Java附带了一组核心库,其中包括定义常用数据类型和相关行为的库,例如String或Date : 与主机操作系统进行交互的实用程序,例如System或File : 有用的子系统来管 ...
- ubuntu20.04安装librtmp库 并在QT5中引入librtmp库
前言 音视频技术学习记录 一.ubuntu20.04安装librtmp库 1.安装相关依赖库 安装 openssl 和 zlib sudo apt-get install libssl-dev sud ...
- 明明已经安装了第三方库,但是Pycharm中却提示库不存在的解决办法
明明之前已经安装了第三方库,但是运行代码时还是提示库不存在,那么此时就需要去在Pycharm中设置一下 使用Pycharm可以管理一些第三方库,方法如下 1.打开软件,通过路径[File]→[Sett ...
- python turtle库画图案-python中的turtle库绘制图形
1. 前奏: 在用turtle绘制图形时,需要安装对应python的解释器以及IDE,我安装的是pycharm,在安装完pycharm后,在pycharm安装相应库的模块,绘图可以引入turtle模块 ...
- python网络爬虫方向的第三方库_Python网络爬虫中常用第三方库总结
python对于爬虫的编写已经是相当的友好了,不过除了利用requests库或者scrapy框架之外,有一些库还需要我们知道,以便于我们更熟练.便捷的完成目标数据的爬取,接下来我就总结一下我认为在爬虫 ...
- 查看python库的版本-python中查看第三方库的版本号
(1)方法一 import scrapy scrapy.__version__ Out[13]: '1.5.1' (2)方法二 help(scrapy) Help on package scrapy: ...
- python库怎么绘画_python中的turtle库(图形绘画库)
turtle绘图的基础知识: 1. 画布(canvas) 画布就是turtle为我们展开用于绘图区域,我们可以设置它的大小和初始位置. 设置画布大小 turtle.screensize(canvwid ...
- 在Linux中创建静态库和动态库 (转)
我们通常把一些公用函数制作成函数库,供其它程序使用.函数库分为静态库和动态库两种.静态 库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库.动态库在程序编译时并不会被连接到目标代码中,而 ...
- 在Linux中创建静态库.a和动态库.so
转自:http://www.cnblogs.com/laojie4321/archive/2012/03/28/2421056.html 在Linux中创建静态库.a和动态库.so 我们通常把一些公用 ...
最新文章
- ​卷积层和分类层,哪个更重要?
- Python 从入门到精通:一个月就够了?真的能行嘛?
- No module named ‘prompt_toolkit.enums‘
- Perforce 使用说明
- signature=cc0735b80de74e294c47d2b8d527fd10,Fungal Transposable Elements
- 北京师范大学计算机应用基础考试,北京师范大学-计算机应用基础作业(一至九全套)...
- Linux IPC实践(2) --匿名PIPE
- Java 性能优化系列之4[Java性能调优工具]
- python定义模块结束语_python-模块定义、导入、优化
- Ingenious Lottery Tickets 模拟
- undefined symbol: PyFPE_jbuf
- 使用java,求100以内的质数(素数)
- NO.119 不懂语言代码,超级菜鸟的建站分享(二):界面设置。
- 八款PM常用〖项目管理〗工具
- java 设计模式 常用21种
- rsync - 客户端常用参数
- 三维场景中创建镜面反射效果(three.js实战9)
- JS对象中添加新的属性及修改字段名
- 【Photoshop 教程系列第 2 篇】如何将 PS 中字体单位由点改为像素
- 前端VUE面试题总结
热门文章
- MySQL下使用Inplace和Online方式创建索引的教程
- C# 请求接口返回中文乱码→???
- iOS开发Swift篇—(六)流程控制
- Delphi第三方组件安装DCU.PAS.DPK.BPL.ActiveX控件
- Quick-Cocos2d-x初学者游戏教程(二) -------------------- Quick内部的代码结构及相应的原理...
- 雪儿--北京欢迎你!!!
- SpringBoot 实战:如何从零开发 “淘宝”
- 极度舒适的 Python 入门教程,佩奇也能学会~
- python文件处理seek_python文件操作 seek(),tell()
- python 网络编程_Python网络编程(六)