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 相关文章推荐
PHP5 安装方法
Jan 15 PHP
PHP 操作文件的一些FAQ总结
Feb 12 PHP
php启用zlib压缩文件的配置方法
Jun 12 PHP
5种PHP创建数组的实例代码分享
Jan 17 PHP
JS异常处理try..catch语句的作用和实例
May 05 PHP
php计算程序运行时间的简单例子分享
May 10 PHP
destoon二次开发入门示例
Jun 20 PHP
ThinkPHP采用实现三级循环代码实例
Jul 18 PHP
php+jQuery.uploadify实现文件上传教程
Dec 26 PHP
PHP扩展开发入门教程
Feb 26 PHP
浅析PHP数据导出知识点
Feb 17 PHP
swoole锁的机制代码实例讲解
Mar 04 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实现通过中文字符比率来判断垃圾评论的方法
2014/10/20 PHP
php发送邮件的问题详解
2015/06/22 PHP
PHP中list()函数用法实例简析
2016/01/08 PHP
php面向对象之反射功能与用法分析
2017/03/29 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
2017/11/14 PHP
PHP实现图片压缩
2020/09/09 PHP
TP5框架实现自定义分页样式的方法示例
2020/04/05 PHP
yii2.0框架实现上传excel文件后导入到数据库的方法示例
2020/04/13 PHP
JavaScript 常见对象类创建代码与优缺点分析
2009/12/07 Javascript
ExtJS Store的数据访问与更新问题
2010/04/28 Javascript
LazyLoad 延迟加载(按需加载)
2010/05/31 Javascript
疯狂Jquery第一天(Jquery学习笔记)
2012/05/11 Javascript
ie下jquery.getJSON的缓存问题的处理方法
2013/03/29 Javascript
javascript判断并获取注册表中可信任站点的方法
2015/06/01 Javascript
微信小程序 form组件详解
2016/10/25 Javascript
使用jQuery,Angular实现登录界面验证码详解
2017/04/27 jQuery
jQuery简介_动力节点Java学院整理
2017/07/04 jQuery
JS使用tofixed与round处理数据四舍五入的区别
2017/10/25 Javascript
vue 页面加载进度条组件实例
2018/02/05 Javascript
详解VUE单页应用骨架屏方案
2019/01/17 Javascript
[54:15]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第二场2月1日
2021/03/11 DOTA
python爬虫入门教程--快速理解HTTP协议(一)
2017/05/25 Python
python读取与写入csv格式文件的示例代码
2017/12/16 Python
Pandas 对Dataframe结构排序的实现方法
2018/04/10 Python
Python 判断图像是否读取成功的方法
2019/01/26 Python
jupyter notebook 添加kernel permission denied的操作
2020/04/21 Python
python如何导入依赖包
2020/07/13 Python
CSS3实现王者匹配时的粒子动画效果
2019/04/12 HTML / CSS
一些Unix笔试题和面试题
2013/01/22 面试题
经典的班主任推荐信
2013/10/28 职场文书
公司合作协议书范本
2014/04/18 职场文书
教师师德演讲稿
2014/05/06 职场文书
慈善晚会策划方案
2014/05/14 职场文书
城管执法人员纪律作风整顿思想汇报
2014/09/13 职场文书
普通党员个人整改措施
2014/10/27 职场文书
python爬虫之selenium库的安装及使用教程
2021/05/23 Python