<?php
session_start();
//产生一个随机的字符串验证码
$checkcode="";
for ($i=0;$i<4;$i++){$checkcode.=dechex(rand(0,15)); //string dechex ( int $number ) 返回一字符串,包含有给定 number 参数的十六进制表示
}
//将随机验证码保存到session中
$_SESSION['myCheckCode']=$checkcode;
//创建图片,并把上面产生的随机验证码画上去
$img=imagecreatetruecolor(100, 20);
//背景默认是黑色,可以自己设定背景颜色
$bgcolor=imagecolorallocate($img, 0, 0, 0);
//imagefill() 在 image 图像的坐标 x,y(图像左上角为 0, 0)处用 color 颜色执行区域填充(即与 x, y 点颜色相同且相邻的点都会被填充)。
imagefill($img, 0, 0, $bgcolor);
//创建新的颜色 imagecolorallocate — 为一幅图像分配颜色
//imagecolorallocate() 返回一个标识符,代表了由给定的 RGB 成分组成的颜色。
//red,green 和 blue 分别是所需要的颜色的红,绿,蓝成分。这些参数是 0 到 255 的整数或者十六进制的 0x00 到 0xFF。
//imagecolorallocate() 必须被调用以创建每一种用在 image 所代表的图像中的颜色
$white=imagecolorallocate($img, 255, 255, 255);
$blue=imagecolorallocate($img, 0, 0, 255);
$red=imagecolorallocate($img, 255, 0, 0);
$green=imagecolorallocate($img, 255, 0, 0);
//画出干扰线段
/*for($i=0;$i<10;$i++){//bool imageline ( resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int $color )//imageline() 用 color 颜色在图像 image 中从坐标 x1,y1 到 x2,y2(图像左上角为 0, 0)画一条线段。imageline($img, rand(0, 100), rand(0, 20), rand(0, 100), rand(0, 20), imagecolorallocate($img, rand(0, 255), rand(0, 255), rand(0, 255)));
}*/
//画出噪点
//for(){}
//把上面产生的四个随机值,字符串画上去
//bool imagestring ( resource $image , int $font , int $x , int $y , string $s , int $col )
//imagestring() 用 col 颜色将字符串 s 画到 image 所代表的图像的 x,y 坐标处(这是字符串左上角坐标,整幅图像的左上角为 0,0)。
//如果 font 是 1,2,3,4 或 5,则使用内置字体。
imagestring($img, rand(2, 5), rand(2, 60), rand(2, 5), $checkcode, $white);
header("content-type:image/png");
//imagepng() 将 GD 图像流(image)以 PNG 格式输出到标准输出(通常为浏览器),或者如果用 filename 给出了文件名则将其输出到该文件。
imagepng($img);?>

效果如下图,每次刷新都会随机生成一个:

第二次刷新:

在页面显示:

<div>验证码:<input type="text"><img src="上边的代码地址" onclick="javascript:this.src='上边的代码地址?tm='+Math.random()"></div>

点击图片可以进行切换

转载于:https://www.cnblogs.com/u1020641/p/6124392.html

php随机生成验证码代码相关推荐

  1. html验证码功能如何实现原理,基于JS实现一个随机生成验证码功能

    效果展示 实现原理 1. html:一般就是一个div: 2. JS:1)将所有的验证码所用的字符放在一个字符串中 2)在这个字符串的字符个数以内,随机生成索引号 3)根据索引号查找对应字符,拼接成验 ...

  2. 随机验证码如何在html里设置颜色,js随机生成验证码以及随机颜色

    Javascript通过Math.random()随机生成验证码. 代码如下: 随机验证码 .p1{ width:100px; height:30px; border:1px solid black; ...

  3. 随机生成验证码及发送短信验证码

    验证码 包括过期时间和redis缓存以及校验 1.设置过期时间 private Date getNextDayZeroTime() {Calendar calendar = Calendar.getI ...

  4. php随机生成验证码,php随机生成数字,php随机生成数字加字母!

    <?php /** 方法类* */ class functions {/*** PHP随机生成验证码函数** @param array* @return mixed*/function rand ...

  5. python随机生成验证码_Python生成随机验证码

    #生成随机验证码 from PIL importImagefrom io importBytesIOfrom PIL importImageDraw,ImageFontdefcheck_code(re ...

  6. 前端js——验证码登录(canvas画布),随机生成验证码,判断正确性

    1.html canvas画布: 元素用于图形的绘制,canvas 元素本身是没有绘图能力的,通过脚本 (通常是JavaScript)来完成. 标签通常需要指定一个id属性 (脚本中经常引用), wi ...

  7. python随机生成验证码_Python生成随机验证码的两种方法

    # -*- coding: utf-8 -*- import random def generate_verification_code_v2(): ''' 随机生成6位的验证码 ''' code_l ...

  8. Java随机生成验证码

    import java.util.Random;public class Test4 {public static void main(String[] args) {/*生成验证码内容:可以是小写字 ...

  9. 前端随机生成验证码vuejsvant~element

    h5移动端 1.具体实现效果 2.创建SIdentify组件,主要用于验证码样式 <template><div class="s-canvas"><c ...

最新文章

  1. 【渝粤题库】广东开放大学 市场营销 形成性考核
  2. uip UDPclient模式通信移植,当地port随机
  3. Spring boot 连接Redis实现HMSET操作
  4. 计算机一级笔试2012,2012计算机一级笔试模拟试卷及答案
  5. html实现点击切换页面,JavaScript实现的简单Tab点击切换功能示例
  6. 非常易懂且全面的计算机科学概论知识总结
  7. CheckBoxPreference--数据存储
  8. ObsidianFolderSync 创作格外丝滑
  9. HHUOJ 1050: 屁屁上的巴掌
  10. kuka机器人RSI说明
  11. python将html转成pdf,python将html转成PDF的示例
  12. Cloudera Manager安装之利用parcels方式安装单节点集群(包含最新稳定版本或指定版本的安装)(添加服务)(CentOS6.5)(四)...
  13. 【区块链论文整理】SIGMOD篇(三)
  14. C#实现串口通信的上位机开发
  15. 场效应晶体管与晶体三极管对比,谁能更胜一筹?
  16. 要想成为一个开发组长,我个人认为要注意一下几点
  17. AC---上网行为管理
  18. 固态继电器的五大优势
  19. 比特同步和帧同步的区别
  20. R中package not avalible问题

热门文章

  1. docker命令:删除所有为stop状态的docker容器
  2. Scala 方法参数列表是val 不可修改
  3. Python爬虫开发:requests库的使用--session的使用
  4. JVM 调优实战--垃圾回收的常见算法
  5. SQL 语句之insert语句插入数据:若表中有重复的主键或数据继续插入解决方案
  6. vm_comcat报错 - 数字或值错误 : 字符串缓冲区太小
  7. 桌面图标及文件夹图标选中后,图标一圈出现白色虚线解决方法
  8. eclipse关闭java程序_如何为Java代码的某些部分关闭Eclipse代码格式化程序?
  9. ironpython是什么2.7_是否可以在IronPython2.7.5中使用请求?
  10. 安卓系列转载,有时间可以参考学习