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默认安装产生系统漏洞
Oct 09 PHP
用Zend Encode编写开发PHP程序
Feb 21 PHP
解析func_num_args与func_get_args函数的使用
Jun 24 PHP
PHP register_shutdown_function()函数的使用示例
Jun 23 PHP
PHP实现冒泡排序的简单实例
May 26 PHP
phpcms中的评论样式修改方法
Oct 21 PHP
PHP运行模式汇总
Nov 06 PHP
PHP互换两个变量值的方法(不用第三变量)
Nov 14 PHP
PHP magento后台无法登录问题解决方法
Nov 24 PHP
PHP实现的Redis多库选择功能单例类
Jul 27 PHP
php批量转换文件夹下所有文件编码的函数类
Aug 06 PHP
PHP框架实现WebSocket在线聊天通讯系统
Nov 21 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
PHP中使用Memache作为进程锁的操作类分享
2015/03/30 PHP
PHP数组遍历的几种常见方式总结
2019/02/15 PHP
PHP7新特性
2021/03/09 PHP
IE和Firefox在JavaScript应用中的兼容性探讨
2008/04/01 Javascript
学习ExtJS Window常用方法
2009/10/07 Javascript
jquery form表单提交插件asp.net后台中文解码
2010/06/12 Javascript
深入理解JavaScript系列(3) 全面解析Module模式
2012/01/15 Javascript
JS判断页面是否出现滚动条的方法
2015/07/17 Javascript
JS实现合并两个数组并去除重复项只留一个的方法
2015/12/17 Javascript
解决js函数闭包内存泄露问题的办法
2016/01/25 Javascript
JS使用cookie设置样式的方法
2016/06/30 Javascript
基于CSS3和jQuery实现跟随鼠标方位的Hover特效
2016/07/25 Javascript
jQuery中fadein与fadeout方法用法示例
2016/09/16 Javascript
把json格式的字符串转换成javascript对象或数组的方法总结
2016/11/03 Javascript
JavaScript遍历Json串浏览器输出的结果不统一问题
2016/11/03 Javascript
微信小程序slider组件使用详解
2018/01/31 Javascript
bootstrap模态框关闭后清除模态框的数据方法
2018/08/10 Javascript
基于js Canvas实现二次贝塞尔曲线
2018/12/25 Javascript
一个小时快速搭建微信小程序的方法步骤
2019/04/15 Javascript
vue权限问题的完美解决方案
2019/05/08 Javascript
解决ant-design-vue中menu菜单无法默认展开的问题
2020/10/31 Javascript
python导入csv文件出现SyntaxError问题分析
2017/12/15 Python
详解Django项目中模板标签及模板的继承与引用(网站中快速布置广告)
2019/03/27 Python
python 检查数据中是否有缺失值,删除缺失值的方式
2019/12/02 Python
Python动态导入模块和反射机制详解
2020/02/18 Python
keras.layer.input()用法说明
2020/06/16 Python
轻松掌握CSS3中的字体大小单位rem的使用方法
2016/05/24 HTML / CSS
高山背包:High Sierra
2017/11/23 全球购物
恒华伟业笔试面试题
2015/02/26 面试题
财务会计大学生自我评价
2014/04/09 职场文书
维护民族团结演讲稿
2014/08/27 职场文书
财务科长个人对照检查材料
2014/09/18 职场文书
法人单位授权委托书范文
2014/10/06 职场文书
企业党支部工作总结2015
2015/05/21 职场文书
MySQL表字段时间设置默认值
2021/05/13 MySQL
idea下配置tomcat避坑详解
2022/04/12 Servers