本文实例讲述了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实现的验证码文件类实例相关推荐

  1. selenium 验证码识别_如何获取验证码?

    工作中,如何用python和selenium提取验证码呢? 获取验证码的方法 按照以往的经验,有4种方法: 让开发帮忙去掉验证码代码,重新部署环境 弄个万能验证码,每次登陆都可以登陆 用cookie添 ...

  2. 3dcaptcha php,php实现的Captcha验证码类实例

    本文实例讲述了php实现的Captcha验证码类,在php程序设计中有着极其广泛的应用.分享给大家供大家参考.具体方法如下: 验证码类文件如下: /** Captcha 验证码类 * Date: 20 ...

  3. python列出文件夹所有文件_python列出文件夹下的所有文件的4种方法

    jincon 发表于 2015-01-28 23:56:00 发表在: python开发 python列出文件夹下的所有文件的4种方法 #方法1:使用os.listdir import os for ...

  4. 调用语音验证码的接口与图形验证码框架

    调用语音验证码的接口 语音验证码就是以打电话的方式,通过电话语音播报的方式把验证码告诉给用户,语音验证码使用的不多. 因为第三方的接口价格相对于短信验证码来说比较贵,并且效果一般,只能发送纯数字的语音 ...

  5. 织梦php模板在哪个文件夹,织梦主要文件夹目录及模板文件说明

    虽然织梦DedeCMS因为安全问题被人所诟病,但瑕不掩瑜,无论从用户群数量还是时间等各方面,织梦DedeCMS都是国内排名前几的CMS建站程序.如果你想学习CMS的二次开发,织梦DedeCMS是必须需 ...

  6. 织梦Dedecms主要文件夹目录及模板文件说明

    虽然织梦DedeCMS因为安全问题被人所诟病,但瑕不掩瑜,无论从用户群数量还是时间等各方面,织梦DedeCMS都是国内排名前几的CMS建站程序.如果你想学习CMS的二次开发,织梦DedeCMS是必须需 ...

  7. java图片式验证码的实现(引入hutool工具类和自己编写工具类两种方法)

    自己编写的工具类 效果 可传递位数 生成相应验证图片 可将图片生成File文件.输出流 适用于前后端结合 import javax.imageio.ImageIO; import java.awt.* ...

  8. Flask项目实战——6—(前台用户模型、前台登录注册、图形验证码、手机短信验证码、添加表单验证短信验证码请求)

    1.前台用户模型 前台用户模型定义 创建前台模型文件 apps/front/models.py # -*- encoding: utf-8 -*- """ @File : ...

  9. 验证码研究入门必读(验证码是什么,有什么用,分类,设计,破解,未来发展)

           和实验室师姐们共同完成了一篇关于验证码的英文综述,在写综述的过程中看了很多验证码方面的论文,在本博客中我将以偏科普的方式介绍一下验证码,希望能够使对该领域有兴趣的同学对于验证码有进一步的 ...

  10. php实现验证码正确输入_PHP实现验证码

    验证码是什么 验证码为全自动区分人和计算机的图灵测试的缩写,是一种区分用户是计算机或人的公共全自动程序. 验证码应用场景 登录.注册确定提交之前,做人/及其校验 发布.回复信息之前,做人/及其校验 疑 ...

最新文章

  1. 终端主题_再见 XShell 和 ITerm 2,是时候拥抱全平台高颜值终端工具 Hyper 了!
  2. 白盒测试--基本路径测试法
  3. python测试之道第5章模拟网络请求
  4. java适配器各三种_适配器三种
  5. 52. N-Queens II
  6. zabbix 自定义监控项 获取nginx监控状态
  7. cast函数_关闭RTTI后dynamic_cast和typeid报异常
  8. OpenCV android 开发
  9. CAS在Java类中的应用
  10. vscode打开txt文件乱码
  11. python量化投资推荐书籍_有没有值得推荐的介绍有名的量化投资策略的书籍?
  12. 多态和特殊类 -->特殊类
  13. 主观意义上第一个基于DEFI的DAM平台DIPPER,年关崛起的黑马究竟是否能在新年创造区块链新纪元?而DIPPER的意义和价值又是什么?
  14. 【重识云原生】第六章容器6.3.5节——Controller Manager概述
  15. 条码标签软件中如何进行文字的对齐
  16. 7-2 地下迷宫探索
  17. 2014-人生旅途的节点
  18. 郭国骥课题组《Nature communications》发表非洲爪蟾单细胞图谱并解析变态发育过程的调控机制...
  19. 中缀表达式/后缀表达式/前缀表达式
  20. 基于uniapp开发的ZEBRA(斑马) PDA使用广播扫码监听功能(文件配置+插件使用)

热门文章

  1. [渝粤题库]陕西师范大学《幼儿园课程》(专科)作业
  2. 智能家居常用的十大应用场景
  3. android studio多屏幕,为多个屏幕实现多个布局但在android studio 2.1中无法工作
  4. mysql 操作指令详解_Mysql常用命令详解
  5. Linux程序设计实验项目六,《linux程序设计》实验教学大纲
  6. nginx php环境搭建_php+nginx环境配置
  7. 电脑动态壁纸_每日壁纸—水彩插画少女动漫手机高清无水印壁纸第二波
  8. (1.2)HarmonyOS鸿蒙config.json
  9. Android(2)-----Fragment //(第七周后的知识)
  10. 关于前端设置cookie