php实现的简单中文验证码功能示例


Posted in PHP onJanuary 03, 2017

本文实例讲述了php实现的简单中文验证码功能。分享给大家供大家参考,具体如下:

img.php

<?php
session_start();
/*for($i=0;$i<4;$i++) {
  $rand .= dechex(rand(1,15));
}
$_SESSION[check_pic] = $rand;
*/
$image = imagecreatetruecolor(100, 30);
$bg = imagecolorallocate($image, 0, 0, 0);
$color = imagecolorallocate($image, 255, 255, 255);
//imagestring($image, rand(1,6), rand(3,60), rand(3,15), $rand, $color);
for($i=0;$i<3;$i++) {
  $color2 = imagecolorallocate($image, rand(0,255), rand(0,255),rand(0,255));
  imageline($image, rand(0,100), 0, 100, 30, $color2);
}
//rand() ---->0-max 不大于100
for($i=0;$i<200;$i++) {
  imagesetpixel($image, rand()%100, rand()%30, $color2);
}
//$str = iconv("gbk", "utf-8", "中");
$str = "中国";
$_SESSION[check_pic] = $str;
//解决中文,页面本身为utf-8
$str = mb_convert_encoding($str, "html-entities","utf-8" );
//2:字体大小 3:倾斜角度 x , y 坐标
imagettftext($image, 12, 0, 20, 20, $color, 'MSYH.TTF', $str);
//输出图片
header("Content-type: image/jpeg;charset=utf-8");
imagejpeg($image);
/*修改eclipse的配置,可以使得eclipse的新建项目的默认编码直接为UTF-8
在菜单栏的
Window->Preferences->General->Workspace->Text file encoding
将其改为UFT-8即可。*/
?>

sub.php

<?php
  header("Content-type: text/html;charset=utf-8");
  session_start();
  if($_POST[check]) {
    if($_POST[check]==$_SESSION[check_pic]) {
      echo "验证码正确:".$_SESSION[check_pic];
    } else {
      echo "验证码错误:".$_SESSION[check_pic];
    }
  }
?>
<form action="" method="post">
  <img alt="" src="img.php"><br/>
  <input type="text" name="check"><br/>
  <input type="submit" value="提交">
</form>

运行效果图如下:

php实现的简单中文验证码功能示例

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
拼音码表的生成
Oct 09 PHP
PHP 日期加减的类,很不错
Oct 10 PHP
PHP 批量更新网页内容实现代码
Jan 05 PHP
php文章内容分页并生成相应的htm静态页面代码
Jun 07 PHP
php下保存远程图片到本地的办法
Aug 08 PHP
PHP读取数据库并按照中文名称进行排序实现代码
Jan 29 PHP
php获取表单中多个同名input元素的值
Mar 20 PHP
PHP变量赋值、代入给JavaScript中的变量
Jun 29 PHP
详解WordPress中添加友情链接的方法
May 21 PHP
php解析mht文件转换成html的实例
Mar 13 PHP
PHP实现的AES双向加密解密功能示例【128位】
Sep 03 PHP
Thinkphp5+Redis实现商品秒杀代码实例讲解
Dec 29 PHP
php与c 实现按行读取文件实例代码
Jan 03 #PHP
浅谈PHP安全防护之Web攻击
Jan 03 #PHP
php中遍历二维数组并以表格的形式输出的方法
Jan 03 #PHP
解析PHP之提取多维数组指定列的方法
Jan 03 #PHP
PHP实现RTX发送消息提醒的实例代码
Jan 03 #PHP
php cookie用户登录的详解及实例代码
Jan 03 #PHP
详解PHP安装mysql.so扩展的方法
Dec 31 #PHP
You might like
php格式化工具Beautify PHP小小BUG
2008/04/24 PHP
PHP中的float类型使用说明
2010/07/27 PHP
php入门学习知识点一 PHP与MYSql连接与查询
2011/07/14 PHP
基于php上传图片重命名的6种解决方法的详细介绍
2013/04/28 PHP
解析PHP中VC6 X86和VC9 X86的区别及 Non Thread Safe的意思
2013/06/28 PHP
javascript replace方法与正则表达式
2008/02/19 Javascript
ie和firefox不兼容的解决方法集合
2009/04/28 Javascript
jquery mobile事件多次绑定示例代码
2013/09/13 Javascript
js快速排序的实现代码
2013/12/08 Javascript
js控制分页打印、打印分页示例
2014/02/08 Javascript
js网页实时倒计时精确到秒级
2014/02/10 Javascript
Node.js中常规的文件操作总结
2016/10/13 Javascript
AngularJS 限定$scope的范围实例详解
2017/06/23 Javascript
基于hover的用法实例(推荐)
2017/07/04 Javascript
详解Chart.js轻量级图表库的使用经验
2018/05/22 Javascript
Angular中sweetalert弹框的基本使用教程
2018/07/22 Javascript
Vue在 Nuxt.js 中重定向 404 页面的方法
2019/04/23 Javascript
vue.js 2.*项目环境搭建、运行、打包发布的详细步骤
2019/05/01 Javascript
vue如何搭建多页面多系统应用
2020/06/17 Javascript
使用vue构建多页面应用的示例
2020/10/22 Javascript
[01:21]辉夜杯战队访谈宣传片—CDEC
2015/12/25 DOTA
用实例分析Python中method的参数传递过程
2015/04/02 Python
Phantomjs抓取渲染JS后的网页(Python代码)
2016/05/13 Python
Python下利用BeautifulSoup解析HTML的实现
2020/01/17 Python
tensorboard实现同时显示训练曲线和测试曲线
2020/01/21 Python
Python3 selenium 实现QQ群接龙自动化功能
2020/04/17 Python
浅谈Python __init__.py的作用
2020/10/28 Python
Restful_framework视图组件代码实例解析
2020/11/17 Python
工程造价与财务管理专业应届生求职信
2013/10/06 职场文书
幼儿园中班教学反思
2014/02/10 职场文书
建设投标担保书
2014/05/13 职场文书
民主评议党员个人总结
2015/02/13 职场文书
干部外出学习心得体会
2016/01/18 职场文书
《巨人的花园》教学反思
2016/02/19 职场文书
Django项目如何获得SSL证书与配置HTTPS
2021/04/30 Python
使用numpy实现矩阵的翻转(flip)与旋转
2021/06/03 Python