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与已存在的Java应用程序集成
Oct 09 PHP
PHP的栏目导航程序
Oct 09 PHP
用PHP实现将GB编码转换为UTF8
Nov 25 PHP
发款php蜘蛛统计插件只要有mysql就可用
Oct 12 PHP
php提交表单时判断 if($_POST[submit])与 if(isset($_POST[submit])) 的区别
Feb 08 PHP
PHP读取文件并可支持远程文件的代码分享
Oct 03 PHP
php实现的一个很好用HTML解析器类可用于采集数据
Sep 23 PHP
php实现mysql数据库操作类分享
Feb 14 PHP
PHP实现抓取HTTPS内容
Dec 01 PHP
php输出全球各个时区列表的方法
Mar 31 PHP
PHP判断表达式中括号是否匹配的简单实例
Oct 22 PHP
PHP大文件分割分片上传实现代码
Dec 09 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
上传文件先创建目录 再上传到目录里面去
2010/12/29 PHP
解析php中如何调用用户自定义函数
2013/08/06 PHP
PHP使用array_fill定义多维数组的方法
2015/03/18 PHP
必须收藏的23个php实用代码片段
2016/02/02 PHP
PHP性能测试工具xhprof安装与使用方法详解
2018/04/29 PHP
PHP实现的微信公众号扫码模拟登录功能示例
2019/05/30 PHP
简单JS代码压缩器
2006/10/12 Javascript
基于jquery的Repeater实现代码
2010/07/17 Javascript
javascript 禁用IE工具栏,导航栏等等实现代码
2013/04/01 Javascript
基于iframe实现类似于ajax的页面无刷新
2014/05/31 Javascript
Angularjs全局变量被作用域监听的正确姿势
2016/02/06 Javascript
JS封装的三级联动菜单(使用时只需要一行js代码)
2016/10/24 Javascript
Bootstrap table两种分页示例
2016/12/23 Javascript
jQuery实现在新增加的元素上添加事件方法案例分析
2017/02/09 Javascript
gulp加批处理(.bat)实现ng多应用一键自动化构建
2017/02/16 Javascript
浅析Visual Studio Code断点调试Vue
2018/02/27 Javascript
vuex + keep-alive实现tab标签页面缓存功能
2019/10/17 Javascript
Python按行读取文件的实现方法【小文件和大文件读取】
2016/09/19 Python
Python使用win32com实现的模拟浏览器功能示例
2017/07/13 Python
Python中的Numpy矩阵操作
2018/08/12 Python
python3的输入方式及多组输入方法
2018/10/17 Python
pycharm 在windows上编辑代码用linux执行配置的方法
2018/10/27 Python
python3+opencv3识别图片中的物体并截取的方法
2018/12/05 Python
Python实现定时执行任务的三种方式简单示例
2019/03/30 Python
python移位运算的实现
2019/07/15 Python
python3.x 生成3维随机数组实例
2019/11/28 Python
使用Pyhton 分析酒店针孔摄像头
2020/03/04 Python
Python jieba结巴分词原理及用法解析
2020/11/05 Python
CSS3 按钮边框动画的实现
2020/11/12 HTML / CSS
使用html2canvas将页面转成图并使用用canvas2image下载
2019/04/04 HTML / CSS
实例教程 HTML5 Canvas 超炫酷烟花绽放动画实现代码
2014/11/05 HTML / CSS
舞蹈教育学专业推荐信
2013/11/27 职场文书
教师绩效考核方案
2014/01/21 职场文书
政风行风评议个人心得体会
2014/10/29 职场文书
超级实用!五步法则,教你写好年终工作总结
2019/12/05 职场文书
vue+elementui 实现新增和修改共用一个弹框的完整代码
2021/06/08 Vue.js