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 相关文章推荐
WIN98下Apache1.3.14+PHP4.0.4的安装
Oct 09 PHP
PHP 页面编码声明方法详解(header或meta)
Mar 12 PHP
PHP If Else(elsefi) 语句
Apr 07 PHP
深入理解PHP几个算法:PHP冒泡、PHP二分法、PHP求素数、PHP乘法表
Jun 06 PHP
php防止sql注入代码实例
Dec 18 PHP
使用PHP把HTML生成PDF文件的几个开源项目介绍
Nov 17 PHP
Mac系统下使用brew搭建PHP(LNMP/LAMP)开发环境
Mar 03 PHP
php gd等比例缩放压缩图片函数
Jun 12 PHP
PHP url的pathinfo模式加载不同控制器的简单实现
Aug 12 PHP
php中青蛙跳台阶的问题解决方法
Oct 14 PHP
Laravel获取所有的数据库表及结构的方法
Oct 10 PHP
phpquery中文手册
Mar 18 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 出现乱码和Sessions验证问题的解决方法!
2008/12/06 PHP
PHP设计模式之迭代器模式的深入解析
2013/06/13 PHP
Thinkphp调用Image类生成缩略图的方法
2015/03/07 PHP
Laravel中日期时间处理包Carbon的简单使用
2017/09/21 PHP
PHP实现统计代码行数小工具
2019/09/19 PHP
通过代码实例解析PHP session工作原理
2020/12/11 PHP
使用JavaScript的ActiveXObject对象检测应用程序是否安装的方法
2014/04/15 Javascript
用js传递value默认值的示例代码
2014/09/11 Javascript
JavaScript学习笔记之JS对象
2015/01/22 Javascript
使用bootstrap typeahead插件实现输入框自动补全之问题及解决办法
2016/07/07 Javascript
jQuery模拟Marquee实现无缝滚动效果完整实例
2016/09/29 Javascript
javascript实现简单的ajax封装示例
2016/12/28 Javascript
JS获取鼠标位置距浏览器窗口距离的方法示例
2017/04/11 Javascript
node.js + socket.io 实现点对点随机匹配聊天
2017/06/30 Javascript
vue超时计算的组件实例代码
2018/07/09 Javascript
Vue 路由切换时页面内容没有重新加载的解决方法
2018/09/01 Javascript
详解vue 动态加载并注册组件且通过 render动态创建该组件
2019/05/30 Javascript
Vue.js 实现地址管理页面思路详解(地址添加、编辑、删除和设置默认地址)
2019/12/11 Javascript
Vue watch响应数据实现方法解析
2020/07/10 Javascript
微信小程序对图片进行canvas压缩的方法示例详解
2020/11/12 Javascript
python线程池的实现实例
2013/11/18 Python
python的类变量和成员变量用法实例教程
2014/08/25 Python
深入解析Python中的lambda表达式的用法
2015/08/28 Python
python实现输入数字的连续加减方法
2018/06/22 Python
Python设计模式之简单工厂模式实例详解
2019/01/22 Python
如何基于Python获取图片的物理尺寸
2019/11/25 Python
在python中做正态性检验示例
2019/12/09 Python
Python流程控制常用工具详解
2020/02/24 Python
浅谈在JupyterNotebook下导入自己的模块的问题
2020/04/16 Python
HTML5实现的震撼3D焦点图动画的示例代码
2019/09/26 HTML / CSS
Python里面search()和match()的区别
2016/09/21 面试题
单位创先争优活动方案
2014/01/26 职场文书
创业不要错过,这4种餐饮新模式
2019/07/18 职场文书
MyBatis 动态SQL全面详解
2021/10/05 MySQL
php修改word的实例方法
2021/11/17 PHP
错误码NET::ERR_CERT_DATE_INVALID证书已过期解决方法?
2022/07/07 数码科技