php中文字母数字验证码实现代码


Posted in PHP onApril 25, 2008

英文同数字
<?php
Header("Content-type:image/png");
//定义header,声明图片文件,最好是png,无版权之扰; 
//生成新的四位整数验证码
session_start();//开启session;
$authnum_session = ''; 
$str = 'abcdefghijkmnpqrstuvwxyz1234567890'; 
//定义用来显示在图片上的数字和字母;
$l = strlen($str); //得到字串的长度; 
//循环随机抽取四位前面定义的字母和数字; 
for($i=1;$i<=4;$i++)

$num=rand(0,$l-1); 
//每次随机抽取一位数字;从第一个字到该字串最大长度,
//减1是因为截取字符是从0开始起算;这样34字符任意都有可能排在其中;
$authnum_session.= $str[$num]; 
//将通过数字得来的字符连起来一共是四位;
}
session_register("authnum_session");
//用session来做验证也不错;注册session,名称为authnum_session,
//其它页面只要包含了该图片
//即可以通过$_SESSION["authnum_session"]来调用

//生成验证码图片,
srand((double)microtime()*1000000);
$im = imagecreate(50,20);//图片宽与高; 
//主要用到黑白灰三种色;
$black = ImageColorAllocate($im, 0,0,0);
$white = ImageColorAllocate($im, 255,255,255);
$gray = ImageColorAllocate($im, 200,200,200); 
//将四位整数验证码绘入图片
imagefill($im,68,30,$gray);
//如不用干扰线,注释就行了;
$li = ImageColorAllocate($im, 220,220,220);
for($i=0;$i<3;$i++) 
{//加入3条干扰线;也可以不要;视情况而定,因为可能影响用户输入; 
imageline($im,rand(0,30),rand(0,21),rand(20,40),rand(0,21),$li);

//字符在图片的位置;
imagestring($im, 5, 8, 2, $authnum_session, $white);
for($i=0;$i<90;$i++)
{//加入干扰象素
imagesetpixel($im, rand()%70 , rand()%30 , $gray);
}
ImagePNG($im);
ImageDestroy($im);
?> 

中文

<?php    
/*    
* 文件:code.php    
* 作用:验证码生成    
*/    
session_start();
// 设置 content-type    
header("Content-type: image/png");    
// 创建图片    
$im = imagecreatetruecolor(120, 30);     
$ChineseChar = array("人","出","来","友","学","孝","仁","义","礼","廉","忠","国","中","易","白","者","火 ","土","金","木","雷","风","龙","虎","天","地",  
"生","晕","菜","鸟","田","三","百","钱","福 ","爱","情","兽","虫","鱼","九","网","新","度","哎","唉","啊","哦","仪","老","少","日",  
"月 ","星");    
// 创建颜色    
$fontcolor = imagecolorallocate($im, 255, 255, 255);    
$bg = imagecolorallocate($im, 0, 0, 0);    

// 设置文字    
for($i=0;$i<4;$i++) $text .= $ChineseChar[(array_rand($ChineseChar))];    

$_SESSION['code'] = $text;

// 设置字体  [url]http://www.font.com.cn/downlist/s_12_3.html[/url] 有_GBK系列的字体下载,一般GD库都支持的!
$font = 'gbk.ttf';

// 添加文字    
imagettftext($im, 18, 0, 11, 21, $fontcolor, $font, iconv("GB2312","UTF-8",$text));    

// 输出图片    
imagepng($im);    
imagedestroy($im);    
?>

PHP 相关文章推荐
超强分页类2.0发布,支持自定义风格,默认4种显示模式
Jan 02 PHP
PHP 数组入门教程小结
May 20 PHP
php中DOMElement操作xml文档实例演示
Mar 26 PHP
php命名空间学习详解
Feb 27 PHP
CodeIgniter中实现泛域名解析
Jul 19 PHP
php基于str_pad实现卡号不足位数自动补0的方法
Nov 12 PHP
PHP实现的带超时功能get_headers函数
Feb 10 PHP
高质量PHP代码的50个实用技巧必备(上)
Jan 22 PHP
PHP判断FORM表单或URL参数来的数据是否为整数的方法
Mar 25 PHP
php单例模式的简单实现方法
Jun 10 PHP
Yii2验证器(Validator)用法分析
Jul 23 PHP
PHP实现微信小程序人脸识别刷脸登录功能
May 24 PHP
Ajax PHP简单入门教程代码
Apr 25 #PHP
PHP开发框架总结收藏
Apr 24 #PHP
php5数字型字符串加解密代码
Apr 24 #PHP
php实现的简单压缩英文字符串的代码
Apr 24 #PHP
php格式化工具Beautify PHP小小BUG
Apr 24 #PHP
使用PHP的日期与时间函数技巧
Apr 24 #PHP
追求程序速度,而不是编程的速度
Apr 23 #PHP
You might like
PHP strstr 函数判断字符串是否否存在的实例代码
2013/09/28 PHP
PHP输出缓存ob系列函数详解
2014/03/11 PHP
分享下php5类中三种数据类型的区别
2015/01/26 PHP
PHP rsa加密解密使用方法
2015/04/27 PHP
Yii2中datetime类的使用
2016/12/17 PHP
PHP中的函数声明与使用详解
2017/05/27 PHP
JavaScript 类的定义和引用 JavaScript高级培训 自定义对象
2010/04/27 Javascript
为原生js Array增加each方法
2012/04/07 Javascript
jquery设置元素的readonly和disabled的写法
2013/09/22 Javascript
js中document.write的那点事
2014/12/12 Javascript
javascript中indexOf技术详解
2015/05/07 Javascript
js贪吃蛇网页版游戏特效代码分享(挑战十关)
2015/08/24 Javascript
JS继承之借用构造函数继承和组合继承
2016/09/07 Javascript
Javascript 实现全屏滚动实例代码
2016/12/31 Javascript
js每隔两秒输出数组中的一项(实例)
2017/05/28 Javascript
理解 Node.js 事件驱动机制的原理
2017/08/16 Javascript
Vue filter介绍及其使用详解
2017/10/21 Javascript
用vue-cli开发vue时的代理设置方法
2018/09/20 Javascript
Electron 调用命令行(cmd)
2019/09/23 Javascript
nodejs脚本centos开机启动实操方法
2020/03/04 NodeJs
easyUI使用分页过滤器对数据进行分页操作实例分析
2020/06/01 Javascript
Express 配置HTML页面访问的实现
2020/11/01 Javascript
简述:我为什么选择Python而不是Matlab和R语言
2017/11/14 Python
Python字典中的键映射多个值的方法(列表或者集合)
2018/10/17 Python
使用virtualenv创建Python环境及PyQT5环境配置的方法
2019/09/10 Python
HTML5的表单(绝对特别强大的功能)使用示例
2013/06/20 HTML / CSS
HTML5移动端手机网站开发流程
2016/04/25 HTML / CSS
世界领先的高品质定制产品平台:Zazzle
2017/07/23 全球购物
P/Invoke是什么
2015/07/31 面试题
PyQt 如何创建自定义QWidget
2021/03/24 Python
人事主管岗位职责
2014/01/30 职场文书
工程招投标邀请书
2014/01/30 职场文书
工业设计毕业生自荐信
2014/04/13 职场文书
校园文明标语
2014/06/13 职场文书
2015年转正工作总结范文
2015/04/02 职场文书
2015年学校信息技术工作总结
2015/05/25 职场文书