php实现加减法验证码代码


Posted in PHP onFebruary 14, 2014
<?php
/*图片验证码文件,加减计算方式*/
class ImageCode{
 private $Jiashu  = 0;        //加数或者减数
 private $JianShu = 0;        //被加数或者被减数
 private $YunSuan = '';       //运算符
 private $DeShu   = 0;        //得数
 private $String  = '';       //字符串样式
 private $Img;                //图片对象
 private $Width   = 100;      //图片宽度
 private $Height  = 50;       //图片高度
 private $Ttf     = 'Num.ttf';//字体文件
 private $Session = 'code';   //Session变量
 private function JiaShu(){
  header('Content-type:image/png');
  $this -> Jiashu  = rand(1, 10);
  $this -> JianShu = rand(1, 10);
  $this -> YunSuan= $this -> Jiashu > $this -> JianShu ? '-' : '+';
  $this -> DeShu   = $this -> Jiashu > $this -> JianShu ? $this -> Jiashu - $this -> JianShu : $this -> Jiashu + $this -> JianShu;
 }
 public function Show( $W = 100, $H = 50, $T = 'Num.ttf', $Code = 'code' ){
  $this -> JiaShu();
  $this -> String = $this -> Jiashu . $this -> YunSuan . $this -> JianShu . '= ? ';
  $this -> Width  = $W;
  $this -> Height = $H;
  $this -> Ttf    = $T;
  $this -> Session= $Code;
  session_start();
  $_SESSION[$this -> Session] = $this -> DeShu;
  $this -> Images();
 }
 private function Images(){
  $this -> Img = imagecreate($this -> Width, $this -> Height);
  $background_color = imagecolorallocate ($this -> Img, 255, 255, 255);
  imagecolortransparent($this -> Img, $background_color);
        imagettftext($this -> Img, 14, 0, 1, 20, imagecolorallocate ($this -> Img, 0, 0, 0), $this -> Ttf, $this -> String );
  $this -> EchoImages();
 }
 private function EchoImages(){
  imagepng($this -> Img);
  imagedestroy($this -> Img);
 }
}
$ImageCode = new ImageCode;
$ImageCode -> Show(130, 35, 'Num.ttf', 'code');
PHP 相关文章推荐
excellent!――ASCII Art(由目标图象生成ascii)
Feb 20 PHP
PHP获取网卡地址的代码
Apr 09 PHP
php for 循环语句使用方法详细说明
May 09 PHP
php变量范围介绍
Oct 15 PHP
解析php根据ip查询所在地区(非常有用,赶集网就用到)
Jul 01 PHP
PHP的基本常识小结
Jul 05 PHP
php实现文件下载简单示例(代码实现文件下载)
Mar 10 PHP
PHP实现利用MySQL保存session的方法
Aug 23 PHP
PHP中魔术变量__METHOD__与__FUNCTION__的区别
Sep 29 PHP
带你了解PHP7 性能翻倍的关键
Nov 19 PHP
PHP Curl模拟登录微信公众平台、新浪微博实例代码
Jan 28 PHP
PHP空值检测函数与方法汇总
Nov 19 PHP
php实现mysql数据库操作类分享
Feb 14 #PHP
php将session放入memcached的设置方法
Feb 14 #PHP
smarty获得当前url的方法分享
Feb 14 #PHP
smarty模板中拼接字符串的方法
Feb 14 #PHP
php的sprintf函数的用法 控制浮点数格式
Feb 14 #PHP
PHP中$_FILES的使用方法及注意事项说明
Feb 14 #PHP
php $_SERVER windows系统与linux系统下的区别说明
Feb 14 #PHP
You might like
PHP的构造方法,析构方法和this关键字详细介绍
2013/10/22 PHP
php中将一个对象保存到Session中的方法
2015/03/13 PHP
PHP实现的构造sql语句类实例
2016/02/03 PHP
PHP中SERIALIZE和JSON的序列化与反序列化操作区别分析
2016/10/11 PHP
Zend Framework路由器用法实例详解
2016/12/11 PHP
再次更新!MSClass (Class Of Marquee Scroll通用不间断滚动JS封装类 Ver 1.6)
2007/02/05 Javascript
flash javascript之间的通讯方法小结
2008/12/20 Javascript
10个新的最有前途的JavaScript框架
2009/03/12 Javascript
jQuery 锚点跳转滚动条平滑滚动一句话代码
2010/04/30 Javascript
js自动闭合html标签(自动补全html标记)
2012/10/04 Javascript
jquery自动切换tabs选项卡的具体实现
2013/12/24 Javascript
JS获取节点的兄弟,父级,子级元素的方法
2014/01/09 Javascript
js换图片效果可进行定时操作
2014/06/09 Javascript
jquery中each方法示例和常用选择器
2014/07/08 Javascript
JS实现网页右侧带动画效果的伸缩窗口代码
2015/10/29 Javascript
理解JavaScript事件对象
2016/01/25 Javascript
ES6中的rest参数与扩展运算符详解
2017/07/18 Javascript
jquery radio 动态控制选中失效问题的解决方法
2018/02/28 jQuery
jQuery+datatables插件实现ajax加载数据与增删改查功能示例
2018/04/17 jQuery
JS实现判断图片是否加载完成的方法分析
2018/07/31 Javascript
了解JavaScript中的选择器
2019/05/24 Javascript
[55:35]DOTA2-DPC中国联赛 正赛 CDEC vs Dragon BO3 第二场 1月22日
2021/03/11 DOTA
python根据日期返回星期几的方法
2015/07/06 Python
Python之自动获取公网IP的实例讲解
2017/10/01 Python
python爬虫使用cookie登录详解
2017/12/27 Python
django2 快速安装指南分享
2018/01/05 Python
Python命令行解析模块详解
2018/02/01 Python
使用Python实现音频双通道分离
2020/12/25 Python
HTML5+CSS3实例 :canvas 模拟实现电子彩票刮刮乐代码
2016/12/30 HTML / CSS
新西兰领先的内衣店:Bendon Lingerie新西兰
2018/07/11 全球购物
教师师德教育的自我评价
2013/10/31 职场文书
幼儿园教师的考核评语
2014/04/18 职场文书
工人先进事迹材料
2014/12/26 职场文书
《领导干部从政道德启示录》学习心得体会
2016/01/20 职场文书
导游词之南京中山陵
2019/11/27 职场文书
Html5通过数据流方式播放视频的实现
2021/04/27 HTML / CSS