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实现批量查询清除一句话后门的代码
Jan 20 PHP
php printf输出格式使用说明
Dec 05 PHP
php中is_null,empty,isset,unset 的区别详细介绍
Apr 28 PHP
解析:通过php socket并借助telnet实现简单的聊天程序
Jun 18 PHP
destoon实现会员商铺中指定会员或会员组投放广告的方法
Aug 21 PHP
五款PHP代码重构工具推荐
Oct 14 PHP
php面向对象中static静态属性和静态方法的调用
Feb 08 PHP
php中使用key,value,current,next和prev函数遍历数组的方法
Mar 17 PHP
PHP添加图片水印、压缩、剪切的封装类
Aug 17 PHP
在Laravel框架里实现发送邮件实例(邮箱验证)
May 20 PHP
php实现背景图上添加圆形logo图标的方法
Nov 17 PHP
yii2实现 &quot;上一篇,下一篇&quot; 功能的代码实例
Feb 04 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
SONY ICF-SW07收音机电路分析
2021/03/02 无线电
php UTF-8、Unicode和BOM问题
2010/05/18 PHP
PHP PDOStatement:bindParam插入数据错误问题分析
2013/11/13 PHP
destoon调用自定义模板及样式的公告栏
2014/06/21 PHP
php工具型代码之印章抠图
2018/07/18 PHP
css3实现背景模糊的三种方式
2021/03/09 HTML / CSS
js实现的真正的iframe高度自适应(兼容IE,FF,Opera)
2010/03/07 Javascript
jquery动态加载select下拉框示例代码
2013/12/10 Javascript
JavaScript中实现最高效的数组乱序方法
2014/10/11 Javascript
jQuery实现炫酷的鼠标轨迹特效
2015/02/01 Javascript
浅析AMD CMD CommonJS规范--javascript模块化加载学习心得总结
2016/03/16 Javascript
原生js实现jquery函数animate()动画效果的简单实例
2016/08/21 Javascript
jQuery EasyUI封装简化操作
2016/09/18 Javascript
表单元素值获取方式js及java方式的简单实例
2016/10/15 Javascript
React Router V4使用指南(精讲)
2018/09/17 Javascript
Webpack按需加载打包chunk命名的方法
2019/09/22 Javascript
使用vue实现HTML页面生成图片的方法
2020/03/12 Javascript
[50:29]2014 DOTA2华西杯精英邀请赛 5 24 DK VS iG
2014/05/26 DOTA
[00:34]DOTA2上海特级锦标赛 Spirit战队宣传片
2016/03/04 DOTA
[01:01:52]DOTA2-DPC中国联赛正赛 iG vs LBZS BO3 第一场 3月4日
2021/03/11 DOTA
收集的几个Python小技巧分享
2014/11/22 Python
学习Python3 Dlib19.7进行人脸面部识别
2018/01/24 Python
Django项目中包含多个应用时对url的配置方法
2018/05/30 Python
Pandas GroupBy对象 索引与迭代方法
2018/11/16 Python
python打包exe开机自动启动的实例(windows)
2019/06/28 Python
win10环境下配置vscode python开发环境的教程详解
2019/10/16 Python
python 实现让字典的value 成为列表
2019/12/16 Python
python怎么提高计算速度
2020/06/11 Python
浅析Python的命名空间与作用域
2020/11/25 Python
Stuart Weitzman欧盟:美国奢华鞋履品牌
2017/05/24 全球购物
英国性感内衣和睡衣品牌:Bluebella
2018/01/26 全球购物
总经理秘书工作职责
2013/12/26 职场文书
学生实习介绍信
2014/01/15 职场文书
党员实事承诺书
2014/03/26 职场文书
装饰公司活动策划方案
2014/08/23 职场文书
python数据可视化使用pyfinance分析证券收益示例详解
2021/11/20 Python