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 相关文章推荐
oracle资料库函式库
Oct 09 PHP
yii框架源码分析之创建controller代码
Jun 28 PHP
php cURL和Rolling cURL并发方式比较
Oct 30 PHP
ThinkPHP的URL重写问题
Jun 22 PHP
php实现批量压缩图片文件大小的脚本
Jul 04 PHP
yii实现使用CUploadedFile上传文件的方法
Dec 28 PHP
PHP验证码生成原理和实现
Jan 24 PHP
通过chrome浏览器控制台(Console)进行PHP Debug的方法
Oct 19 PHP
PHP实现原生态图片上传封装类方法
Nov 08 PHP
PHP封装的多文件上传类实例与用法详解
Feb 07 PHP
PHP多种序列化/反序列化的方法详解
Jun 23 PHP
PHP判断json格式是否正确的实现代码
Sep 20 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
URL Rewrite的设置方法
2007/01/02 PHP
使用openssl实现rsa非对称加密算法示例
2014/01/24 PHP
php中的字符编码转换函数用法示例
2014/10/20 PHP
PHP获取数组长度或某个值出现次数的方法
2015/02/11 PHP
php检查页面是否被百度收录
2015/10/28 PHP
php解压缩zip和rar压缩包文件的方法
2019/07/10 PHP
PHP学习记录之常用的魔术常量详解
2019/12/12 PHP
Javascript实例教程(19) 使用HoTMetal(2)
2006/12/23 Javascript
jquery怎样实现ajax联动框(一)
2013/03/08 Javascript
CSS+jQuery实现的一个放大缩小动画效果
2013/09/24 Javascript
Node.js文件操作详解
2014/08/16 Javascript
Jquery on方法绑定事件后执行多次的解决方法
2016/06/02 Javascript
微信小程序实现图片上传功能
2018/05/28 Javascript
jquery判断滚动条距离顶部的距离方法
2018/09/05 jQuery
vue-cli的build的文件夹下没有dev-server.js文件配置mock数据的方法
2019/04/17 Javascript
JS块级作用域和私有变量实例分析
2019/05/11 Javascript
Vue中实现权限控制的方法示例
2019/06/07 Javascript
浅谈vue异步数据影响页面渲染
2019/10/29 Javascript
js实现div色块碰撞
2020/01/16 Javascript
Nodejs实现微信分账的示例代码
2021/01/19 NodeJs
[01:57]DOTA2上海特锦赛小组赛解说单车采访花絮
2016/02/27 DOTA
python中sleep函数用法实例分析
2015/04/29 Python
在Python的web框架中中编写日志列表的教程
2015/04/30 Python
约瑟夫问题的Python和C++求解方法
2015/08/20 Python
最近Python有点火? 给你7个学习它的理由!
2017/06/26 Python
python 重定向获取真实url的方法
2018/05/11 Python
Python使用while循环花式打印乘法表
2019/01/28 Python
python实现门限回归方式
2020/02/29 Python
Spring @Enable模块驱动原理及使用实例
2020/06/23 Python
html5 利用canvas手写签名并保存的实现方法
2018/07/12 HTML / CSS
介绍一下游标
2012/01/10 面试题
一份软件工程师的面试试题
2016/02/01 面试题
英语专业毕业个人求职自荐信
2013/09/21 职场文书
向国旗敬礼活动总结
2014/09/27 职场文书
上课玩手机的检讨书
2014/10/01 职场文书
Nginx Rewrite使用场景及配置方法解析
2021/04/01 Servers