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中拷贝构造函数、赋值运算符重载
Jul 25 PHP
php模板引擎技术简单实现
Mar 15 PHP
PHP实现的文件操作类及文件下载功能示例
Dec 24 PHP
ThinkPHP框架表单验证操作方法
Jul 19 PHP
利用php操作memcache缓存的基础方法示例
Aug 02 PHP
PHP Laravel 上传图片、文件等类封装
Aug 16 PHP
php表单处理操作
Nov 16 PHP
php中对象引用和复制实例分析
Aug 14 PHP
mysqli扩展无法在PHP7下升级问题的解决
Sep 10 PHP
PHP常用字符串输出方法分析(echo,print,printf及sprintf)
Mar 09 PHP
你真的了解PHP中的引用符号(&)吗
May 12 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 checkbox 取值详细说明
2010/08/19 PHP
gd库图片下载类实现下载网页所有图片的php代码
2012/08/20 PHP
php5.5中类级别的常量使用介绍
2013/10/02 PHP
学习php设计模式 php实现桥梁模式(bridge)
2015/12/07 PHP
Apache无法自动跳转却显示目录的解决方法
2020/11/30 PHP
php中__toString()方法用法示例
2016/12/07 PHP
Laravel框架实现简单的学生信息管理平台案例
2019/05/07 PHP
Laravel框架查询构造器简单示例
2019/05/08 PHP
php实现JWT(json web token)鉴权实例详解
2019/11/05 PHP
一个JS小玩意 几个属性相加不能超过一个特定值.
2009/09/29 Javascript
JS 中document.URL 和 windows.location.href 的区别
2009/11/11 Javascript
Extjs学习过程中新手容易碰到的低级错误积累
2010/02/11 Javascript
初识javascript 文档碎片
2010/07/13 Javascript
jQuery中ajax的get()方法用法实例
2014/12/26 Javascript
老生常谈 关于JavaScript的类的继承
2016/06/24 Javascript
JS验证图片格式和大小并预览的简单实例
2016/10/11 Javascript
微信小程序实现拖拽 image 触摸事件监听的实例
2017/08/17 Javascript
薪资那么高的Web前端必看书单
2017/10/13 Javascript
基于vue 实现token验证的实例代码
2017/12/14 Javascript
利用js将ajax获取到的后台数据动态加载至网页中的方法
2018/08/08 Javascript
vue的keep-alive中使用EventBus的方法
2019/04/23 Javascript
使用python实现省市三级菜单效果
2016/01/20 Python
python中实现k-means聚类算法详解
2017/11/11 Python
TensorFlow实现Batch Normalization
2018/03/08 Python
python输入整条数据分割存入数组的方法
2018/11/13 Python
Django使用django-simple-captcha做验证码的实现示例
2021/01/07 Python
详解CSS3浏览器兼容
2016/12/14 HTML / CSS
html5使用window.postMessage进行跨域实现数据交互的一次实战
2021/02/24 HTML / CSS
大学生就业协议书范本(适用于公司企业)
2014/10/07 职场文书
2014保险公司个人工作总结
2014/12/09 职场文书
2015年城管个人工作总结范文
2015/04/20 职场文书
中学生社会实践教育活动总结
2015/05/06 职场文书
小学生读书笔记范文
2015/06/30 职场文书
化工厂员工工作总结
2015/10/15 职场文书
2016年中秋节晚会领导致辞
2015/11/26 职场文书
Python中re模块的元字符使用小结
2022/04/07 Python