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 adodb分页实现代码
Mar 19 PHP
在命令行下运行PHP脚本[带参数]的方法
Jan 22 PHP
php空间不支持socket但支持curl时recaptcha的用法
Nov 07 PHP
PHP的SQL注入过程分析
Jan 06 PHP
PHP数组循环操作详细介绍 附实例代码
Feb 03 PHP
php 模拟POST提交的2种方法详解
Jun 17 PHP
PHP扩展模块memcached长连接使用方法分析
Dec 24 PHP
PHP实现递归无限级分类
Oct 22 PHP
详解PHP中instanceof关键字及instanceof关键字有什么作用
Nov 05 PHP
php实现网页端验证码功能
Jul 11 PHP
thinkphp3.2.0 setInc方法 源码全面解析
Jan 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
利用js对象弹出一个层
2008/03/26 Javascript
jquery tab插件精简版分享
2011/09/10 Javascript
jquery简单实现滚动条下拉DIV固定在头部不动
2013/11/25 Javascript
jQuery不使用插件及swf实现无刷新文件上传
2014/12/08 Javascript
JQuery控制Radio选中方法分析
2015/05/29 Javascript
JS实现仿微博可关闭弹出层效果
2015/09/21 Javascript
jQuery实现输入框邮箱内容自动补全与上下翻动显示效果【附demo源码下载】
2016/09/20 Javascript
JavaScript中return用法示例
2016/11/29 Javascript
浅谈angular2 组件的生命周期钩子
2017/08/12 Javascript
详解基于mpvue的小程序markdown适配解决方案
2018/05/08 Javascript
js时间转换毫秒的实例代码
2019/08/21 Javascript
node.js实现简单的压缩/解压缩功能示例
2019/11/05 Javascript
Js生成随机数/随机字符串的方法小结【5种方法】
2020/05/27 Javascript
小结Python用fork来创建子进程注意事项
2014/07/03 Python
Python实现获取某天是某个月中的第几周
2015/02/11 Python
python获取目录下所有文件的方法
2015/06/01 Python
python3 pandas 读取MySQL数据和插入的实例
2018/04/20 Python
Python爬虫包BeautifulSoup学习实例(五)
2018/06/17 Python
python内置函数sorted()用法深入分析
2019/10/08 Python
基于Python检测动态物体颜色过程解析
2019/12/04 Python
django在开发中取消外键约束的实现
2020/05/20 Python
python中os包的用法
2020/06/01 Python
Python学习工具jupyter notebook安装及用法解析
2020/10/23 Python
Python开发.exe小工具的详细步骤
2021/01/27 Python
伦敦最有品味的百货:Liberty London
2016/11/12 全球购物
瑞典时尚服装购物网站:Miinto.se
2017/10/30 全球购物
微软中国官方旗舰店:销售Surface、Xbox One、笔记本电脑、Office
2018/07/23 全球购物
个人求职信范文分享
2013/12/13 职场文书
迅雷Cued工作心得体会
2014/01/27 职场文书
倡导文明标语
2014/06/16 职场文书
公务员党员评议表自我鉴定
2014/09/14 职场文书
公司领导班子四风对照检查材料
2014/09/27 职场文书
网站文案策划岗位职责
2015/04/14 职场文书
药房管理制度范本
2015/08/06 职场文书
2015年乡镇食品安全工作总结
2015/10/22 职场文书
你真的了解redis为什么要提供pipeline功能
2021/06/22 Redis