一个验证码需要有以下步骤:

  • 验证底图
  • 验证码内容
  • 生成验证码
  • 对比校验

验证码需要依靠PHP的GD扩展库。一些集成环境是默认安装了GD拓展库。

<?php
//创建一个100*30px图片,默认黑色
$image = imagecreatetruecolor(100, 30);
//给$image背景图片分配颜色,后三个参数是颜色的RGB.255,255,255白色
$bgcolor = imagecolorallocate($image,255,255,255);
//填充$image颜色为$bgcolor,中间两个为坐标。
imagefill($image, 0, 0, $bgcolor);
for($i=0;$i<4;$i++){
$fontsize = 6;
$fontcolor = imagecolorallocate($image,0,0,0);
$fontcontent = rand(0,9);
//x,y即为坐标。
$x = ($i*100/4) + rand(5,10);
$y = rand(5,10);
imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);
} header("content-type:image/png");
//输出图片的时候一定要使用header告诉PHP其格式。
imagepng($image);
imagedestroy($image);
?>

最新文章

  1. java script第一篇(按钮全选的实现)
  2. Delphi以及三方控件的源代码规模
  3. web api+递归树型结构
  4. Android项目,从web上取下汉字,中文部分乱码
  5. 安装ss
  6. ASP.NET MVC5利用EF,反向自动生成数据库
  7. html之span标签
  8. CSS3 动态魔方的展示
  9. hadoop学习笔记——基础知识及安装
  10. .NET多线程同步方法详解
  11. apache在window server 2003下的安全配置
  12. Confluence 6 自定义管理员联系信息
  13. java JFR
  14. 小程序学习-iPhone X适配
  15. .Net Core Md5加密整理
  16. echart 设计宽度为百分比时,div撑不开
  17. git 经常使用操作集锦
  18. HDU 1556 Color the ball 树状数组 题解
  19. My97datepicker使用方法
  20. 深入浅出之-route命令实战使用指南

热门文章

  1. ylbtech-LanguageSamples-Indexers_2(索引器)
  2. Linux驱动虚拟地址和物理地址的映射
  3. EPF与Myeclipse 增强代码自动智能提示
  4. C#运行原理——我的柔情你永远不懂
  5. js中求水仙花数
  6. for in 与 Object.keys 与 hasOwnProperty区别
  7. JDBC:数据库操作:事务
  8. Thread.sleep(0)的作用
  9. 英特尔 Android* 开发者指南上的对等应用
  10. struts过滤器的不同2.16以后应该是: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter 2.12以前应该是org.apache.struts2.dispatcher.Filterdispatcher