北京赛车9码包赢技术:php通过GD库实现验证码功能

江西多乐彩11选5走势图 www.ptdvv.cn  更新时间:2018年07月04日 15:29:21   作者:不能吃的坚果   我要评论

这篇文章主要介绍了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);

实现表单的连接和“换一个”功能的实现:1

<input type="text" placeholder="验证码" name="verifycode" class="captcha"><br><br>
<img id="captcha_img" src="captcha.php?r=<?php echo rand();?>" alt="验证码">
<label><a href="javascript:void(0)" rel="external nofollow" onclick="document.getElementById('captcha_img').src='captcha.php?r='+Math.random()">换一个</a> </label>

captcha.php后面加上一个随机参数是为了实现换一个验证码的功能,,换一个功能通过简单的js即可实现。如果没有这个功能可以不用参数。

总结

以上所述是小编给大家介绍的php通过GD库实现验证码功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • php中将汉字转换成拼音的函数代码

    php中将汉字转换成拼音的函数代码

    公司游戏频道的后台中有很多子栏目,每次操作都需要在一大堆数据中找对应的游戏名,由于入库的游戏名都是中文,某人想到将中文转换成拼音,然后截取首字母,根据首字母排序搜索。于是,找到了这个function – 在php中将汉字转换成拼音的方法
    2012-09-09
  • PHP使用fopen与file_get_contents读取文件实例分享

    PHP使用fopen与file_get_contents读取文件实例分享

    这篇文章主要介绍了PHP使用fopen与file_get_contents读取文件实例分享的相关资料,需要的朋友可以参考下
    2016-03-03
  • Yii2创建控制器(createController)方法详解

    Yii2创建控制器(createController)方法详解

    这篇文章主要介绍了Yii2创建控制器(createController)的方法,结合实例形式分析了Yii创建控制器所使用到的方法、操作步骤与相关技巧,需要的朋友可以参考下
    2016-07-07
  • 多个PHP中文字符串截取函数

    多个PHP中文字符串截取函数

    字符串截取是一个非常常见的编程任务,而往往带中文的字符串截取会经常用到。虽然不难,但是自己写函数实现又耗费时间,这里介绍一个比较好用的字符串截取函数,能够胜任基本的需求了
    2013-11-11
  • 老司机传授Ubuntu下Apache+PHP+MySQL环境搭建攻略

    老司机传授Ubuntu下Apache+PHP+MySQL环境搭建攻略

    这篇文章主要介绍了Ubuntu下Apache+PHP+MySQL环境搭建攻略,文中采用的是LoadModule加载??榈姆绞浇玃HP与Apache服务器程序连接,需要的朋友可以参考下
    2016-03-03
  • Laravel学习教程之IOC容器的介绍与用例

    Laravel学习教程之IOC容器的介绍与用例

    最近在学习laravel,正好学习到了ioc容器,但发现网上这方面的资料较少,所以将自己学习的总结下,下面这篇文章主要给大家介绍了关于Laravel学习教程之IOC容器的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-08-08
  • PHP验证码生成原理和实现

    PHP验证码生成原理和实现

    验证码在表单实现越来越多了,但是用js的写的验证码,总觉得不方便,所以学习了下php实现的验证码的原理和实现,对验证码生成原理相关知识感兴趣的朋友一起学习吧
    2016-01-01
  • Centos6.5和Centos7 php环境搭建方法

    Centos6.5和Centos7 php环境搭建方法

    这篇文章主要介绍了Centos6.5和Centos7 php环境搭建方法的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-05-05
  • Laravel框架之blade模板新手入门教程及小技巧

    Laravel框架之blade模板新手入门教程及小技巧

    Blade 是 laravel 提供的一个简单强大的模板引擎。下面这篇文章主要给大家介绍了关于Laravel框架之blade模板新手的入门教程以及一些使用的小技巧,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。
    2017-12-12
  • 一个简单的php MVC留言本实例代码(必看篇)

    一个简单的php MVC留言本实例代码(必看篇)

    下面小编就为大家带来一篇一个简单的php MVC留言本实例代码(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09

最新评论

251| 488| 538| 537| 102| 36| 665| 795| 120| 837|