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实现mysql同步的实现方法
Oct 21 PHP
php分页函数示例代码分享
Feb 24 PHP
php禁止直接从浏览器输入地址访问.php文件的方法
Nov 04 PHP
php.ini中的request_order推荐设置
May 10 PHP
discuz图片顺序混乱解决方案
Jul 29 PHP
PHP直接修改表内容DataGrid功能实现代码
Sep 24 PHP
[原创]ThinkPHP中SHOW_RUN_TIME不能正常显示运行时间的解决方法
Oct 10 PHP
php构造方法中析构方法在继承中的表现
Apr 12 PHP
php安装ssh2扩展的方法【Linux平台】
Jul 20 PHP
php自定义时间转换函数示例
Dec 07 PHP
PHP设计模式之适配器模式定义与用法详解
Apr 03 PHP
PHP simplexml_load_string()函数实例讲解
Feb 03 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
实现“上一页”和“下一页按钮
2006/10/09 PHP
php二分查找二种实现示例
2014/03/12 PHP
ThinkPHP入口文件设置及相关注意事项分析
2014/12/05 PHP
php构造函数与析构函数
2016/04/23 PHP
PHP设计模式之模板方法模式定义与用法详解
2018/04/02 PHP
js中的escape及unescape函数的php实现代码
2007/09/04 Javascript
表单项的name命名为submit、reset引起的问题
2007/12/22 Javascript
iframe的onload在Chrome/Opera中执行两次Bug的解决方法
2011/03/17 Javascript
jQuery 源码分析笔记(6) jQuery.data
2011/06/08 Javascript
中文字符串截取的js函数代码
2013/04/17 Javascript
Javascript级联下拉菜单以及AJAX数据验证核心代码
2013/05/10 Javascript
javaScript arguments 对象使用介绍
2013/10/18 Javascript
js完美解决IE6不支持position:fixed的bug
2015/04/24 Javascript
jQuery插件之jQuery.Form.js用法实例分析(附demo示例源码)
2016/01/04 Javascript
js+html5实现的自由落体运动效果代码
2016/01/28 Javascript
jquery实现瀑布流效果 jquery下拉加载新数据
2016/12/12 Javascript
JS正则表达式判断有效数实例代码
2017/03/13 Javascript
利用Vue.js实现求职在线之职位查询功能
2017/07/03 Javascript
默认浏览器设置及vue自动打开页面的方法
2018/09/21 Javascript
jQuery内容过滤选择器与子元素过滤选择器用法实例分析
2019/02/20 jQuery
js实现秒表计时器
2019/12/16 Javascript
python获取指定目录下所有文件名列表的方法
2015/05/20 Python
django实现分页的方法
2015/05/26 Python
Python使用pyh生成HTML文档的方法示例
2018/03/10 Python
赫里福德的一家乡村零售商店:Philip Morris & Son
2017/06/25 全球购物
阿迪达斯法国官方网站:adidas法国
2018/03/20 全球购物
Easy Spirit官网:美国休闲鞋履中的代表品牌
2019/04/12 全球购物
学习“七一”讲话精神体会
2014/07/08 职场文书
2014年公务员个人工作总结
2014/11/22 职场文书
英语教师个人工作总结
2015/02/09 职场文书
新娘婚礼致辞
2015/07/27 职场文书
Python入门之使用pandas分析excel数据
2021/05/12 Python
python批量创建变量并赋值操作
2021/06/03 Python
Python连接Postgres/Mysql/Mongo数据库基本操作大全
2021/06/29 Python
Win11任务栏太宽了怎么办?一招解决Win11任务栏太宽问题
2021/11/21 数码科技
IIS服务器中设置HTTP重定向访问HTTPS
2022/04/29 Servers