php 生成随机验证码图片代码

时间:2024-05-02 17:33:19 


<?php
/** 默认首页 **/
class DefaultController extends AppController
{
public function index() {
$len = 5;
$str = "ABCDEFGHIJKLNMPQRSTUVWXYZ123456789";

$im = imagecreatetruecolor ( 70, 20 );
$bgc = imagecolorallocate($im, 255, 255, 255);
$bgtxt = imagecolorallocate($im, 220, 220, 220);

//随机调色板
$colors = array(
imagecolorallocate($im, 255, 0, 0),
imagecolorallocate($im, 0, 200, 0),
imagecolorallocate($im, 0, 0, 255),
imagecolorallocate($im, 0, 0, 0),
imagecolorallocate($im, 255, 128, 0),
imagecolorallocate($im, 255, 208, 0),
imagecolorallocate($im, 98, 186, 245),
);

//填充背景色
imagefill($im, 0, 0, $bgc);

//随机获取数字
$verify = "";
while (strlen($verify) < $len) {
$i = strlen($verify);
$random = $str[rand(0, strlen($str))];
$verify .= $random;

//绘制背景文字
imagestring($im, 6, ($i*10)+3, rand(0,6), $random, $bgtxt);
//绘制主文字信息
imagestring($im, 6, ($i*10)+3, rand(0,6), $random, $colors[rand(0, count($colors)-1)]);
}

//添加随机杂色
for($i=0; $i<100; $i++) {
$color = imagecolorallocate($im, rand(50,220), rand(50,220), rand(50,220));
imagesetpixel($im, rand(0,70), rand(0,20), $color);
}

//将验证码存入$_SESSION中
sess("verify", $verify);

//输出图片并释放缓存
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
}
};
?>

标签:php,随机验证码
0
投稿

猜你喜欢

  • 可以让程序告诉我详细的页面错误和数据库连接错误吗?

    2009-11-01 18:01:00
  • mysql 8.0.18 安装配置图文教程

    2024-01-21 09:46:33
  • Python操作json数据的一个简单例子

    2022-10-23 17:09:37
  • python tkinter组件摆放方式详解

    2021-09-23 01:50:23
  • mysql unique key在查询中的使用与相关问题

    2024-01-18 20:00:54
  • Mysql exists用法小结

    2024-01-18 00:51:54
  • 浅谈opencv自动光学检测、目标分割和检测(连通区域和findContours)

    2023-04-15 09:25:18
  • Python实现把json格式转换成文本或sql文件

    2022-06-03 14:52:23
  • 机器学习的框架偏向于Python的13个原因

    2023-09-28 06:24:42
  • python定间隔取点(np.linspace)的实现

    2022-05-01 12:30:25
  • 一个模仿oso的php论坛程序源码(之二)第1/3页

    2024-05-02 17:07:10
  • python轻松查到删除自己的微信好友

    2021-06-06 12:31:44
  • 详解python 破解网站反爬虫的两种简单方法

    2023-11-19 21:29:55
  • 微信小程序的部署方法步骤

    2024-04-10 10:39:53
  • Python实现XML文件解析的示例代码

    2022-02-24 11:03:43
  • MySQL创建用户与授权方法

    2024-01-19 02:43:55
  • Django基础之Model操作步骤(介绍)

    2022-04-12 12:17:50
  • golang组件swagger生成接口文档实践示例

    2023-09-19 11:29:39
  • 自动化测试Pytest单元测试框架的基本介绍

    2023-08-20 04:51:47
  • python实现微信小程序用户登录、模板推送

    2021-10-15 23:25:17
  • asp之家 网络编程 m.aspxhome.com