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 相关文章推荐
PHP入门速成(2)
Oct 09 PHP
一个用于mysql的数据库抽象层函数库
Oct 09 PHP
ajax+php打造进度条 readyState各状态
Mar 20 PHP
PHP filter_var() 函数 Filter 函数
Apr 25 PHP
控制PHP的输出:缓存并压缩动态页面
Jun 11 PHP
解析phpstorm + xdebug 远程断点调试
Jun 20 PHP
详解Grunt插件之LiveReload实现页面自动刷新(两种方案)
Jul 31 PHP
PHP中模拟链表和链表的基本操作示例
Feb 27 PHP
PHP获取路径和目录的方法总结【必看篇】
Mar 04 PHP
PHP实现中国公民身份证号码有效性验证示例代码
May 03 PHP
thinkphp框架表单数组实现图片批量上传功能示例
Apr 04 PHP
laravel admin实现分类树/模型树的示例代码
Jun 10 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
检查url链接是否已经有参数的php代码 添加 ? 或 &amp;
2010/02/09 PHP
php导出word格式数据的代码实例
2013/11/25 PHP
浅析php适配器模式(Adapter)
2014/11/25 PHP
php中二维数组排序问题方法详解
2015/08/28 PHP
PHP仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(上)
2017/05/26 PHP
常用的javascript function代码
2008/05/23 Javascript
JSON 数据格式介绍
2012/01/13 Javascript
jQuery学习笔记 更改jQuery对象
2012/09/19 Javascript
Extjs实现进度条的两种便捷方式
2013/09/26 Javascript
jquery实现背景墙聚光灯效果示例分享
2014/03/02 Javascript
使用Node.js处理前端代码文件的编码问题
2016/02/16 Javascript
JS控制文本域只读或可写属性的方法
2016/06/24 Javascript
详解vue-admin和后端(flask)分离结合的例子
2018/02/12 Javascript
vue addRoutes实现动态权限路由菜单的示例
2018/05/15 Javascript
解决angularjs中同步执行http请求的方法
2018/08/13 Javascript
js图片无缝滚动插件使用详解
2020/05/26 Javascript
JavaScript实现简易聊天对话框(加滚动条)
2020/02/10 Javascript
京东优选小程序的实现代码示例
2020/02/25 Javascript
vue+element-ui JYAdmin后台管理系统模板解析
2020/07/28 Javascript
Vue 使用typescript如何优雅的调用swagger API
2020/09/01 Javascript
[02:20]DOTA2中文配音宣传片
2013/05/22 DOTA
[03:04]DOTA2英雄基础教程 影魔
2013/12/11 DOTA
Vue的el-scrollbar实现自定义滚动
2018/05/29 Python
Python中extend和append的区别讲解
2019/01/24 Python
音乐表演专业毕业生求职信
2013/10/14 职场文书
校园十佳歌手策划书
2014/01/22 职场文书
楼面经理岗位职责范本
2014/02/18 职场文书
代领报检证委托书范本
2014/10/11 职场文书
党风廉洁教育心得体会
2016/01/20 职场文书
简历上的自我评价,该怎么写呢?
2019/06/13 职场文书
婚前协议书怎么写,才具有法律效力呢 ?
2019/06/28 职场文书
公文写作指导之倡议书!
2019/07/03 职场文书
详解JavaScript中的执行上下文及调用堆栈
2021/04/29 Javascript
HTML基础详解(上)
2021/10/16 HTML / CSS
《火纹风花雪月无双》预告“神秘雇佣兵” 紫发剑客
2022/04/13 其他游戏
详解Python中的for循环
2022/04/30 Python