PHP的中问验证码


Posted in PHP onNovember 25, 2006
<?php 
Class code 
{ 
 var $width =160; //图片的宽 
 var $hight =40; //图片的高 
 var $image; 
 var $red =223; //图片的RGB颜色 
 var $green =225; //红 
 var $blue =227 ;//绿 
 var $pix =227 ;//蓝 
 var $pixcolor; //杂色颜色; 
 var $pixred = 242; //红 
 var $pixgreen = 168;//绿 
 var $pixblue = 162; //蓝 
 var $txt=null;//验证码文字 
 var $txtcode=null; 
 var $txtsub=null; 
 var $pixnum = 300; //杂点数量 
 var $i=0; 
 var $widthpx=0; 
 var $highty=0; 
 var $txtreg=50; 
 var $txtgreen=30; 
 function createimage()  //创建一张图并填色 
 { 
  $this->image = imagecreate($this->width,$this->hight); 
  $this->color = imagecolorallocate($this->image,$this->red,$this->green,$this->blue); 
  return imagefill($this->image,0,0,$this->color); 
 } 
 function createpix() //干扰因素 
 { 
  for($this->i=1;$this->i<$this->pixnum;$this->i++) 
  { 
    $this->widthpx = rand(0,$this->width); 
    $this->highty = rand(0,$this->hight); 
   $this->pixcolor = imagecolorallocate($this->image,$this->pixred,$this->pixgreen,$this->pixblue); 
     imagesetpixel($this->image,$this->widthpx,$this->highty,$this->pixcolor); 
  } 
 } 
  function gettxt() //创建验证码文字 
 { 
  $this->txt = array("我","爱","你","叶","就","慧","明","发","真","的","很","想","不","知","到","为","什","么","就","是","忘","不","了","你","也","许","上","辈","欠","钱"); 
  for($this->i=0;$this->i<6;$this->i++) 
  { 
   $this->sub = $this->txt[rand(0,29)]; 
   $this->txtcode.= $this->sub; 
  } 
  $this->txtcode = iconv("GB2312","UTF-8",$this->txtcode); 
  $_SESSION["code"] = $this->txtcode; //产生的验证ID 
 } 
 function createstring() //创建验证码图片 
 { 
  imagettftext($this->image,20,5,0,40,$this->pixcolor,"C:\WINDOWS\Fonts\simsun.ttc ",$this->txtcode); 
  header("content-type:image/png"); 
  return imagepng($this->image); 
     imagedestroy($this->image); 
 } 
 function getcodeimage()//获得验证码图片 
 { 
  $this->createimage(); 
  $this->gettxt(); 
  $this->createpix();   
  $this->createstring(); 
 } 
} 
?> 
<?php  
session_start();    
$text = new code; 
$text->createimage(); 
$text->gettxt(); 
$text->createpix(); 
$text->createstring(); 
?>
PHP 相关文章推荐
给初学PHP的5个入手程序
Nov 23 PHP
PHP 中英文混合排版中处理字符串常用的函数
Apr 12 PHP
php 购物车完整实现代码
Jun 05 PHP
ThinkPHP之A方法实例讲解
Jun 20 PHP
php使用pack处理二进制文件的方法
Jul 03 PHP
php 批量查询搜狗sogou代码分享
May 17 PHP
PHP下载文件的函数实例代码
May 18 PHP
thinkPHP实现签到功能的方法
Mar 15 PHP
PHP无限极分类函数的实现方法详解
Apr 15 PHP
php之header的不同用法总结(实例讲解)
Nov 28 PHP
PHP Laravel中的Trait使用方法
Jan 20 PHP
关于Laravel参数验证的一些疑与惑
Nov 19 PHP
mysql建立外键
Nov 25 #PHP
ADODB结合SMARTY使用~超级强
Nov 25 #PHP
ADODB类使用
Nov 25 #PHP
smarty静态实验表明,网络上是错的~呵呵
Nov 25 #PHP
PHP动态变静态原理
Nov 25 #PHP
smarty 原来也不过如此~~呵呵
Nov 25 #PHP
用PHP的ob_start();控制您的浏览器cache!
Nov 25 #PHP
You might like
对象失去焦点时自己动提交数据的实现代码
2012/11/06 PHP
作为PHP程序员应该了解MongoDB的五件事
2013/06/03 PHP
php中url传递中文字符,特殊危险字符的解决方法
2013/08/17 PHP
php中str_pad()函数用法分析
2017/03/28 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
JQuery 简便实现页面元素数据验证功能
2007/03/24 Javascript
分享27款非常棒的jQuery 表单插件
2011/03/28 Javascript
20款效果非常棒的 jQuery 插件小结分享
2011/11/18 Javascript
jquery插件制作 自增长输入框实现代码
2012/08/17 jQuery
改进版通过Json对象实现深复制的方法
2012/10/24 Javascript
如何动态的导入js文件具体该怎么实现
2014/01/14 Javascript
深入分析JQuery和JavaScript的异同
2014/10/23 Javascript
jQuery实现div横向拖拽排序的简单实例
2016/07/13 Javascript
微信js-sdk分享功能接口常用逻辑封装示例
2016/10/13 Javascript
JS表单提交验证、input(type=number) 去三角 刷新验证码
2017/06/21 Javascript
微信小程序 获取二维码实例详解
2017/06/23 Javascript
jQuery实现动态显示select下拉列表数据的方法
2018/02/05 jQuery
详解webpack 热更新优化
2018/09/13 Javascript
vue+webpack 更换主题N种方案优劣分析
2019/10/28 Javascript
JS判断浏览器类型与操作系统的方法分析
2020/04/30 Javascript
[41:37]DOTA2北京网鱼队选拔赛——冲击职业之路
2015/04/13 DOTA
python分割文件的常用方法
2014/11/01 Python
在Django框架中设置语言偏好的教程
2015/07/27 Python
Django objects的查询结果转化为json的三种方式的方法
2018/11/07 Python
Python3.5 Pandas模块之DataFrame用法实例分析
2019/04/23 Python
python自动化实现登录获取图片验证码功能
2019/11/20 Python
关于Pytorch MaxUnpool2d中size操作方式
2020/01/03 Python
python中如何设置代码自动提示
2020/07/15 Python
10款最佳Python开发工具推荐,每一款都是神器
2020/10/15 Python
MoviePy简介及Python视频剪辑自动化
2020/12/18 Python
《北京的春节》教学反思
2014/04/07 职场文书
婚前协议书怎么写
2014/04/15 职场文书
科级干部群众路线教育实践活动对照检查材料思想汇报
2014/09/20 职场文书
乡镇2014法制宣传日活动总结
2014/11/01 职场文书
综合测评个人总结
2015/03/03 职场文书
OpenCV中resize函数插值算法的实现过程(五种)
2021/06/05 Python