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 相关文章推荐
mysql中存储过程、函数的一些问题
Feb 14 PHP
晋城吧对DiscuzX进行的前端优化要点
Sep 05 PHP
php设计模式 Adapter(适配器模式)
Jun 26 PHP
PHP得到某段时间区间的时间戳 php定时任务
Apr 12 PHP
PHP更新购物车数量(表单部分/PHP处理部分)
May 03 PHP
php数组键值用法实例分析
Feb 27 PHP
PHP生成plist数据的方法
Jun 16 PHP
CodeIgniter集成smarty的方法详解
May 26 PHP
ThinkPHP和UCenter接口冲突的解决方法
Jul 25 PHP
PHP处理Ajax请求与Ajax跨域问题
Feb 13 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
Jul 20 PHP
php字符串函数 str类常见用法示例
May 15 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之数据库操作详解及乱码解决!
2007/01/02 PHP
PHP按行读取文件时删除换行符的3种方法
2014/05/04 PHP
PHP实现PDO的mysql数据库操作类
2014/12/12 PHP
php生成二维码时出现中文乱码的解决方法
2014/12/18 PHP
PHP 应用容器化以及部署方法
2018/02/12 PHP
用PHP做了一个领取优惠券活动的示例代码
2019/07/05 PHP
jquery 必填项判断表单是否为空的方法
2008/09/14 Javascript
Ext grid 添加右击菜单
2009/11/26 Javascript
关于js注册事件的常用方法
2013/04/03 Javascript
js 立即调用的函数表达式如何写
2014/01/12 Javascript
Js与下拉列表处理问题解决
2014/02/13 Javascript
ie 7/8不支持trim的属性的解决方案
2014/05/23 Javascript
详解JavaScript的Date对象(制作简易钟表)
2020/04/07 Javascript
JS平滑无缝滚动效果的实现代码
2016/05/06 Javascript
浅谈json取值(对象和数组)
2016/06/24 Javascript
JS中如何实现复选框全选功能
2016/12/19 Javascript
详解AngularJS ui-sref的简单使用
2017/04/24 Javascript
JS验证全角与半角及相互转化的介绍
2017/05/18 Javascript
快速理解 JavaScript 中的 LHS 和 RHS 查询的用法
2017/08/24 Javascript
js this 绑定机制深入详解
2020/04/30 Javascript
vue实现轮播图帧率播放
2021/01/26 Vue.js
[02:28]PWL开团时刻DAY3——Ink Ice与DeMonsTer之间的勾心斗角
2020/11/03 DOTA
Python编程中运用闭包时所需要注意的一些地方
2015/05/02 Python
基于python实现简单日历
2018/07/28 Python
PySide和PyQt加载ui文件的两种方法
2019/02/27 Python
基于opencv的selenium滑动验证码的实现
2020/07/24 Python
CSS3实现伪类hover离开时平滑过渡效果示例
2017/08/10 HTML / CSS
HTML5触摸事件(touchstart、touchmove和touchend)的实现
2020/05/08 HTML / CSS
南威尔士家居商店:Leekes
2016/10/25 全球购物
阿迪达斯印尼官方网站:adidas印尼
2020/02/10 全球购物
纯净、自信、100%的羊绒服装:360Cashmere
2021/02/20 全球购物
行政部总经理岗位职责
2014/01/04 职场文书
环保建议书500字
2014/05/14 职场文书
老生常谈 使用 CSS 实现三角形的技巧(多种方法)
2021/04/13 HTML / CSS
Python基础之进程详解
2021/05/21 Python
MySQL定时备份数据库(全库备份)的实现
2021/09/25 MySQL