代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
PHP
】
验证码类 支持数字,字母,汉字,混合
作者:
HelloChina
/ 发布于
2012/6/12
/
637
验证码类 支持数字,字母,汉字,混合
<div><?php // +------------------------------------------------------------------------ // 验证码类,该类的对象能动态获取验证码图片,验证码字符保存在SESSION['code']中 // +------------------------------------------------------------------------ // 支持4种格式 数字 字母 汉字 混合 // +------------------------------------------------------------------------ // @Author: HelloChina(<a href="mailto:sanzi0930@163.com">sanzi0930@163.com</a>) // +------------------------------------------------------------------------ // @Date: 2012年6月7日11:03:00 // +------------------------------------------------------------------------ // @version 1.0 // +------------------------------------------------------------------------</div> <div>class Vcode{ protected $width;//验证码宽度 protected $height;//验证码长度 protected $codeNum;//验证码字符个数 protected $codeType;//验证码类型 protected $fontSize;//字符大小 protected $fontType;//字体类型 protected $codeStr;//中文内容 protected $strNum;//中文个数 protected $imageType;//输出图片类型 protected $image;//图片资源 protected $checkCode;//验证码内容 /** +-------------------------------------------------------------------------------- * 取得验证码信息 +-------------------------------------------------------------------------------- * @param integer $width验证码宽度 * @param integer $height验证码高度 * @param integer $codeNum验证码字符个数 * @param integer $codeType验证码字符类型1为数字 2为字母 3为汉字 4为混编 * @param integer $fontSize 验证码字体的大小 * @param string $fontType验证码字体类型 * @param string $imageType验证码输出图片类型 * @param string $codestr中文验证码内容 +-------------------------------------------------------------------------------- */ public function __construct($width=100, $height=50, $codeNum=4, $codeType=4, $fontSize=12, $fontType='heiti.ttf' ,$imageType='jpeg', $codeStr='去我饿人他一哦平啊是的飞个好就看了在想才吧你吗'){ $this->width = $width; $this->height = $height; $this->codeNum = $codeNum; $this->codeType = $codeType; $this->fontSize = $fontSize; $this->fontType = $fontType; $this->codeStr = $codeStr; $this->strNum = strlen($this->codeStr)/3-1; $this->imageType = $imageType; $this->checkCode = $this->getCheckCode(); } <div> //+-------------------------------------------------------------------------------- //* 生成验证码字符 //+-------------------------------------------------------------------------------- //* @return string //+-------------------------------------------------------------------------------- public function __toString(){ $string = implode('', $this->getCheckCode()); $_SESSION["code"]=$string; //加到session中 $this->getImage(); //输出验证码 return ''; } protected function getCheckCode(){ $string = array(); switch($this->codeType){ case 1: //数字字符串 $string = array_rand(range(0,9), $this->codeNum); break; case 2: //大字母字符串 $string = array_rand(array_flip(range('A', 'Z')), $this->codeNum); break; case 3: //汉字字符串 for($i=0; $i<($this->codeNum); $i++){ $start = mt_rand(0, $this->strNum); $string[$i]= self::msubstr($this->codeStr,$start); } break; case 4: //混合字符串 for($i=0; $i<($this->codeNum); $i++){ $rand=mt_rand(0,2); switch($rand){ case 0: $ascii = mt_rand(48,57); $string[$i] = sprintf('%c',$ascii); break;</div>
试试其它关键字
验证码类
同语言下
.
用net匹配并替换iOS标准的emoji表情符号
.
处理带Emoji表情的的字符串
.
获取微信昵称时 过滤特殊字符
.
通过判断上传文件的头字符来判断文件的类型
.
模拟百度URL加密解密算法
.
以太坊检查地址是否合法
.
实现crontab解析类
.
获取每个月的开始和结束时间
.
图片上传工具类
.
APP手机应用信息采集
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
HelloChina
贡献的其它代码
(
1
)
.
验证码类 支持数字,字母,汉字,混合
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3