代码如下:

/**

* 生成验证码图片

* site www.jbxue.com

* @param String $word 验证码在session中的变量名称

*/

function valiCode($word='randcode'){

Header("Content-type: image/gif");

$border = 0; //是否要边框 1要:0不要

$how = 4; //验证码位数

$w = $how*15; //图片宽度

$h = 18; //图片高度

$fontsize = 10; //字体大小

$alpha = "abcdefghijkmnpqrstuvwxyz"; //验证码内容1:字母

$number = "23456789"; //验证码内容2:数字

$randcode = ""; //验证码字符串初始化

srand((double)microtime()*1000000); //初始化随机数种子

$im = ImageCreate($w, $h); //创建验证图片

/*

* 绘制基本框架

*/

$bgcolor = ImageColorAllocate($im, 255, 255, 255); //设置背景颜色

ImageFill($im, 0, 0, $bgcolor); //填充背景色

if($border)

{

$black = ImageColorAllocate($im, 0, 0, 0); //设置边框颜色

ImageRectangle($im, 0, 0, $w-1, $h-1, $black);//绘制边框

}

/*

* 逐位产生随机字符

*/

for($i=0; $i

{

$alpha_or_number = mt_rand(0, 1); //字母还是数字

$str = $alpha_or_number ? $alpha : $number;

$which = mt_rand(0, strlen($str)-1); //取哪个字符

$code = substr($str, $which, 1); //取字符

$j = !$i ? 4 : $j+15; //绘字符位置

$color3 = ImageColorAllocate($im, mt_rand(0,100), mt_rand(0,100), mt_rand(0,100)); //字符随即颜色

ImageChar($im, $fontsize, $j, 3, $code, $color3); //绘字符

$randcode .= $code; //逐位加入验证码字符串

}

/*

* 如果需要添加干扰就将注释去掉

*

* 以下for()循环为绘背景干扰线代码

*/

/* + -----绘背景干扰线 开始 ----- + */

for($i=0; $i<5; $i++)//绘背景干扰线

{

$color1 = ImageColorAllocate($im, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255)); //干扰线颜色

ImageArc($im, mt_rand(-5,$w), mt_rand(-5,$h), mt_rand(20,300), mt_rand(20,200), 55, 44, $color1); //干扰线

}

/* + -----绘背景干扰线 结束 ------ + */

/*

* 如果需要添加干扰就将注释去掉

*

* 以下for()循环为绘背景干扰点代码

*/

/* + ------绘背景干扰点 开始 ------- + */

for($i=0; $i

{

$color2 = ImageColorAllocate($im, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255)); //干扰点颜色

ImageSetPixel($im, mt_rand(0,$w), mt_rand(0,$h), $color2); //干扰点

}

/* + ------绘背景干扰点 结束 --------- + */

//把验证码字符串写入session 方便提交登录信息时检验验证码是否正确 例如:$_POST['randcode'] = $_SESSION['randcode']

$_SESSION[$word] = $randcode;

/*绘图结束*/

Imagegif($im);

ImageDestroy($im);

/*绘图结束*/

}

?>

您可能感兴趣的文章:

php验证码简单函数代码(附效果图)

分享一个php 验证码类及调用示例

php验证码的三个实例代码分享

一个php验证码的封装类

php自定义大小验证码的实例代码

php生成扭曲及旋转的验证码图片的实例代码

php仿QQ验证码的实现代码

php验证码函数使用的例子

php5验证码类(简易实用型)

php验证码(GD库生成验证码)的例子

php点击验证码实时刷新的实现代码

php彩色验证码的简单例子

php验证码刷新与局部刷新的实现方法

php GD库生成验证码的实例

php生成验证码的例子

php随机验证码 php生成随机验证码(图文)

一个比较稳定的php登陆系统验证码

用php生成带有雪花背景的验证码

php验证码大全(实例分享),php图片验证码的例子相关推荐

  1. php验证码大全(实例分享),php文件上传代码大全(实例分...-php验证码大全(实例分享)-php打印倒三角的实例代码_169IT.COM...

    本节主要内容: php中的文件上传代码 在我们平时的php编程中,涉及文件上传的内容很多,无论是简单的留言本程序,还是复杂的新闻系统,甚至是功能完备的cms系统中,都少不了文件上传的功能与代码. 本文 ...

  2. java自动识别图片验证码插件_JMeter开发插件——图片验证码识别

    我们在性能测试中总会时不时地遭遇到来自于应用系统的各种阻碍,图片验证码就是一类最常见的束缚,登录或交易时需要按照图片中的内容输入正确的验证信息后,数据才可以提交成功,这使得许多性能测试工具只能望而却步 ...

  3. 爬虫笔记40之反爬系列三:复杂验证码的处理(12306图片验证码、行为验证:selenium鼠标行为链 + 算法)

    一.12306图片验证码 ​ 解决方案: selenium(鼠标行为链) + 打码平台 ​ 思路: 通过selenium来加载登录页面,获取验证码图片.我就可以把验证码图片交给超级鹰打码平台进行处理. ...

  4. 仿12306验证码 java_仿12306的图片验证码

    由于要做一个新项目,所以打算做一个简单的图片验证码. 先说说思路吧:在服务端,从一个文件夹里面找出8张图片,再把8张图片合并成一张大图,在8个小图里面随机生成一个要用户验证的图片分类,如小狗.啤酒等. ...

  5. 好看的php验证码,一漂亮的PHP图片验证码实例

    一.显示效果 二.代码如下 代码如下:/* *  @Author fy */ $imgwidth =100; //图片宽度 $imgheight =40; //图片高度 $codelen =4; // ...

  6. php好看的图形验证码,一漂亮的PHP图片验证码实例

    一.显示效果 二.代码如下 复制代码 代码如下:/* *  @Author fy */ $imgwidth =100; //图片宽度 $imgheight =40; //图片高度 $codelen = ...

  7. 验证码识别之w3cschool字符图片验证码(easy级别)

    起因: 最近在练习解析验证码,看到了这个网站的验证码比较简单,于是就拿来解析一下攒攒经验值,并无任何冒犯之意... 验证码所在网页: https://www.w3cschool.cn/checkmph ...

  8. java 拖动验证码实现_java实现拖动图片验证码

    思路是,对原图产生两张图片,一张是底图,被抠掉一部分的图片,另外一张是移动图,被抠出的来部分 只写了后台怎么生成拖动验证码的两个图片,前端的还没写,待续.以下是后台的代码 class="ja ...

  9. php clicaptcha,php实现的Captcha验证码类实例

    这篇文章主要介绍了php实现的Captcha验证码类,实例展示了一个验证码类程序并附有用法演示实例,有着非常好的参考借鉴价值,需要的朋友可以参考下 本文实例讲述了php实现的Captcha验证码类,在 ...

最新文章

  1. Jenkins部署SpringBoot应用到远程服务器
  2. windows下实现Git在局域网使用
  3. “后完美日记”时代,橘朵、花知晓、funnyelves们还有机会吗?
  4. LaTeX中用BibTex管理参考文献
  5. tomcat命令无法启动 the catalina_home environment variable is not defined correctly this environment variab
  6. 平庸技术流,用 WebApi +AngularJS 实现网络爬虫
  7. SharePoint List item数量超过5000的解决办法
  8. Wireshark中遇到的epoch time
  9. Java后端--25--内存数据库Redis讲解
  10. 使用py2neo构建neo4j图模型小demo
  11. 屏幕为什么要正负压供电_焦炉煤气脱硫为什么要选择负压脱硫工艺?
  12. 别人加薪你加班,征服老板才是王道
  13. TP5 Validate 验证
  14. Golang 之协程详解
  15. java遗传算法实例_遗传算法的基本概念和实现,附Java实现案例!
  16. Springboot应用缓存实践之:Ehcache加持
  17. Web压缩问题-图片不显示
  18. ipad无法充电怎么办_ipad不能充电怎么办 6种办法快速解决
  19. linux运行ardupilot,ardupilot在Linux上的启动过程
  20. linux的du和df命令

热门文章

  1. 生态建筑大师ECOTECT学习和AIRPAK软件的安装
  2. 闲置物品交易转让求购发布信息​小程序开发
  3. 使用 JADE 平台进行智能体开发
  4. JavaScript中的 this指向问题
  5. 怎么把CAD表格转换成Excel表格?CAD表格导出教程
  6. PCB工艺规范及PCB设计安规原则
  7. mhd格式三维图像显示_关于医疗影像的mhd和dcm格式图像的读取和坐标转换
  8. 快速幂算法详解(全)
  9. gitlab下载地址
  10. 瞬变电磁检测原理和特点