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 相关文章推荐
在PHP中养成7个面向对象的好习惯
Jul 17 PHP
php 无限级数据JSON格式及JS解析
Jul 17 PHP
destoon实现资讯信息前面调用它所属分类的方法
Jul 15 PHP
php可应用于面包屑导航的递归寻找家谱树实现方法
Feb 02 PHP
详解PHP错误日志的获取方法
Jul 20 PHP
使用PHP如何实现高效安全的ftp服务器(二)
Dec 30 PHP
PHP页面输出搜索后跳转下一页的处理方法
Sep 30 PHP
PHP简单装饰器模式实现与用法示例
Jun 22 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
Nov 17 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
Jun 16 PHP
stripos函数知识点实例分享
Feb 11 PHP
PHP之认识(二)关于Traits的用法详解
Apr 11 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调用Oracle存储过程的方法
2008/09/12 PHP
PHP EOT定界符的使用详解
2008/09/30 PHP
php实现mysql封装类示例
2014/05/07 PHP
JS 自动完成 AutoComplete(Ajax 查询)
2009/07/07 Javascript
Node.js实现在目录中查找某个字符串及所在文件
2014/09/03 Javascript
用javascript关闭本窗口技巧小结
2014/09/05 Javascript
node.js中的fs.rmdir方法使用说明
2014/12/16 Javascript
JavaScript中的闭包(Closure)详细介绍
2014/12/30 Javascript
EasyUI实现二级页面的内容勾选的方法
2015/03/01 Javascript
JavaScript常用脚本汇总(一)
2015/03/04 Javascript
jQuery的load()方法及其回调函数用法实例
2015/03/25 Javascript
JS动态改变表格边框宽度的方法
2015/03/31 Javascript
jQuery实现仿QQ空间装扮预览图片的鼠标提示效果代码
2015/10/30 Javascript
jQuery中ajax的load()与post()方法实例详解
2016/01/05 Javascript
ES6新特性之Symbol类型用法分析
2017/03/31 Javascript
完美实现js拖拽效果 return false用法详解
2017/07/28 Javascript
浅谈Angular单元测试总结
2019/03/22 Javascript
如何提升vue.js中大型数据的性能
2019/06/21 Javascript
Vue父组件如何获取子组件中的变量
2019/07/24 Javascript
JS+css3实现幻灯片轮播图
2020/08/14 Javascript
element-ui点击查看大图的方法示例
2020/12/14 Javascript
TensorFlow实现RNN循环神经网络
2018/02/28 Python
对python dataframe逻辑取值的方法详解
2019/01/30 Python
python实现的接收邮件功能示例【基于网易POP3服务器】
2019/09/11 Python
python求绝对值的三种方法小结
2019/12/04 Python
PyCharm 2020.2下配置Anaconda环境的方法步骤
2020/09/23 Python
移动端HTML5 input常见问题(小结)
2020/09/28 HTML / CSS
大学生的四年学习自我评价
2013/12/13 职场文书
合同专员岗位职责
2013/12/18 职场文书
幼儿园门卫岗位职责
2014/02/14 职场文书
教师岗位聘任书范文
2014/03/29 职场文书
三严三实对照检查材料
2014/09/22 职场文书
2016年全国爱眼日宣传教育活动总结
2016/04/05 职场文书
人力资源部工作计划
2019/05/14 职场文书
2019年教师节:送给所有老师的祝福语
2019/09/05 职场文书
使用 DataAnt 监控 Apache APISIX的原理解析
2022/07/07 Servers