php 验证码文件,php实现的验证码文件类实例
本文实例讲述了php实现的验证码文件类。分享给大家供大家参考。具体如下:
/**
* @file
* @version 1.0
* @author 网海浪子
* @brief 验证码文件类
*
*/
class ccheckcodefile
{
//验证码位数
private $mcheckcodenum = 4;
//产生的验证码
private $mcheckcode = '';
//验证码的图片
private $mcheckimage = '';
//干扰像素
private $mdisturbcolor = '';
//验证码的图片宽度
private $mcheckimagewidth = '80';
//验证码的图片宽度
private $mcheckimageheight = '20';
/**
*
* @brief 输出头
*
*/
private function outfileheader()
{
header ("content-type: image/png");
}
/**
*
* @brief 产生验证码
*
*/
private function createcheckcode()
{
$this->mcheckcode = strtoupper(substr(md5(rand()),0,$this->mcheckcodenum));
return $this->mcheckcode;
}
/**
*
* @brief 产生验证码图片
*
*/
private function createimage()
{
$this->mcheckimage = @imagecreate ($this->mcheckimagewidth,$this->mcheckimageheight);
imagecolorallocate ($this->mcheckimage, 200, 200, 200);
return $this->mcheckimage;
}
/**
*
* @brief 设置图片的干扰像素
*
*/
private function setdisturbcolor()
{
for ($i=0;$i<=128;$i++)
{
$this->mdisturbcolor = imagecolorallocate ($this->mcheckimage, rand(0,255), rand(0,255), rand(0,255));
imagesetpixel($this->mcheckimage,rand(2,128),rand(2,38),$this->mdisturbcolor);
}
}
/**
*
* @brief 设置验证码图片的大小
*
* @param $width 宽
*
* @param $height 高
*
*/
public function setcheckimagewh($width,$height)
{
if($width==''||$height=='')return false;
$this->mcheckimagewidth = $width;
$this->mcheckimageheight = $height;
return true;
}
/**
*
* @brief 在验证码图片上逐个画上验证码
*
*/
private function writecheckcodetoimage()
{
for ($i=0;$i<=$this->mcheckcodenum;$i++)
{
$bg_color = imagecolorallocate ($this->mcheckimage, rand(0,255), rand(0,128), rand(0,255));
$x = floor($this->mcheckimagewidth/$this->mcheckcodenum)*$i;
$y = rand(0,$this->mcheckimageheight-15);
imagechar ($this->mcheckimage, 5, $x, $y, $this->mcheckcode[$i], $bg_color);
}
}
/**
*
* @brief 输出验证码图片
*
*/
public function outcheckimage()
{
$this ->outfileheader();
$this ->createcheckcode();
$this ->createimage();
$this ->setdisturbcolor();
$this ->writecheckcodetoimage();
imagepng($this->mcheckimage);
imagedestroy($this->mcheckimage);
}
}
$c_check_code_image = new ccheckcodefile();
//$c_check_code_image ->setcheckimagewh(100,50);
//设置显示验证码图片的尺寸
$c_check_code_image ->outcheckimage();
?>
希望本文所述对大家的php程序设计有所帮助。
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!
php 验证码文件,php实现的验证码文件类实例相关推荐
- selenium 验证码识别_如何获取验证码?
工作中,如何用python和selenium提取验证码呢? 获取验证码的方法 按照以往的经验,有4种方法: 让开发帮忙去掉验证码代码,重新部署环境 弄个万能验证码,每次登陆都可以登陆 用cookie添 ...
- 3dcaptcha php,php实现的Captcha验证码类实例
本文实例讲述了php实现的Captcha验证码类,在php程序设计中有着极其广泛的应用.分享给大家供大家参考.具体方法如下: 验证码类文件如下: /** Captcha 验证码类 * Date: 20 ...
- python列出文件夹所有文件_python列出文件夹下的所有文件的4种方法
jincon 发表于 2015-01-28 23:56:00 发表在: python开发 python列出文件夹下的所有文件的4种方法 #方法1:使用os.listdir import os for ...
- 调用语音验证码的接口与图形验证码框架
调用语音验证码的接口 语音验证码就是以打电话的方式,通过电话语音播报的方式把验证码告诉给用户,语音验证码使用的不多. 因为第三方的接口价格相对于短信验证码来说比较贵,并且效果一般,只能发送纯数字的语音 ...
- 织梦php模板在哪个文件夹,织梦主要文件夹目录及模板文件说明
虽然织梦DedeCMS因为安全问题被人所诟病,但瑕不掩瑜,无论从用户群数量还是时间等各方面,织梦DedeCMS都是国内排名前几的CMS建站程序.如果你想学习CMS的二次开发,织梦DedeCMS是必须需 ...
- 织梦Dedecms主要文件夹目录及模板文件说明
虽然织梦DedeCMS因为安全问题被人所诟病,但瑕不掩瑜,无论从用户群数量还是时间等各方面,织梦DedeCMS都是国内排名前几的CMS建站程序.如果你想学习CMS的二次开发,织梦DedeCMS是必须需 ...
- java图片式验证码的实现(引入hutool工具类和自己编写工具类两种方法)
自己编写的工具类 效果 可传递位数 生成相应验证图片 可将图片生成File文件.输出流 适用于前后端结合 import javax.imageio.ImageIO; import java.awt.* ...
- Flask项目实战——6—(前台用户模型、前台登录注册、图形验证码、手机短信验证码、添加表单验证短信验证码请求)
1.前台用户模型 前台用户模型定义 创建前台模型文件 apps/front/models.py # -*- encoding: utf-8 -*- """ @File : ...
- 验证码研究入门必读(验证码是什么,有什么用,分类,设计,破解,未来发展)
和实验室师姐们共同完成了一篇关于验证码的英文综述,在写综述的过程中看了很多验证码方面的论文,在本博客中我将以偏科普的方式介绍一下验证码,希望能够使对该领域有兴趣的同学对于验证码有进一步的 ...
- php实现验证码正确输入_PHP实现验证码
验证码是什么 验证码为全自动区分人和计算机的图灵测试的缩写,是一种区分用户是计算机或人的公共全自动程序. 验证码应用场景 登录.注册确定提交之前,做人/及其校验 发布.回复信息之前,做人/及其校验 疑 ...
最新文章
- 终端主题_再见 XShell 和 ITerm 2,是时候拥抱全平台高颜值终端工具 Hyper 了!
- 白盒测试--基本路径测试法
- python测试之道第5章模拟网络请求
- java适配器各三种_适配器三种
- 52. N-Queens II
- zabbix 自定义监控项 获取nginx监控状态
- cast函数_关闭RTTI后dynamic_cast和typeid报异常
- OpenCV android 开发
- CAS在Java类中的应用
- vscode打开txt文件乱码
- python量化投资推荐书籍_有没有值得推荐的介绍有名的量化投资策略的书籍?
- 多态和特殊类 -->特殊类
- 主观意义上第一个基于DEFI的DAM平台DIPPER,年关崛起的黑马究竟是否能在新年创造区块链新纪元?而DIPPER的意义和价值又是什么?
- 【重识云原生】第六章容器6.3.5节——Controller Manager概述
- 条码标签软件中如何进行文字的对齐
- 7-2 地下迷宫探索
- 2014-人生旅途的节点
- 郭国骥课题组《Nature communications》发表非洲爪蟾单细胞图谱并解析变态发育过程的调控机制...
- 中缀表达式/后缀表达式/前缀表达式
- 基于uniapp开发的ZEBRA(斑马) PDA使用广播扫码监听功能(文件配置+插件使用)
热门文章
- [渝粤题库]陕西师范大学《幼儿园课程》(专科)作业
- 智能家居常用的十大应用场景
- android studio多屏幕,为多个屏幕实现多个布局但在android studio 2.1中无法工作
- mysql 操作指令详解_Mysql常用命令详解
- Linux程序设计实验项目六,《linux程序设计》实验教学大纲
- nginx php环境搭建_php+nginx环境配置
- 电脑动态壁纸_每日壁纸—水彩插画少女动漫手机高清无水印壁纸第二波
- (1.2)HarmonyOS鸿蒙config.json
- Android(2)-----Fragment //(第七周后的知识)
- 关于前端设置cookie