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 相关文章推荐
攻克CakePHP系列三 表单数据增删改
Oct 22 PHP
php 中英文语言转换类
Sep 07 PHP
简单实现限定phpmyadmin访问ip的方法
Mar 05 PHP
在windows平台上构建自己的PHP实现方法(仅适用于php5.2)
Jul 05 PHP
浅析PHP Socket技术
Aug 02 PHP
php 启动报错如何解决
Jan 17 PHP
网页上facebook分享功能具体实现
Jan 26 PHP
基于PHP实现假装商品限时抢购繁忙的效果
Oct 16 PHP
编写PHP脚本清除WordPress头部冗余代码的方法讲解
Mar 01 PHP
PHP与SQL语句写一句话木马总结
Oct 11 PHP
Laravel使用swoole实现websocket主动消息推送的方法介绍
Oct 20 PHP
PHP数组实际占用内存大小原理解析
Dec 11 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+Html+缓存
2006/11/25 PHP
深入理解ob_flush和flush的区别(ob_flush()与flush()使用方法)
2013/02/06 PHP
php安装xdebug/php安装pear/phpunit详解步骤(图)
2013/12/22 PHP
php的mkdir()函数创建文件夹比较安全的权限设置方法
2014/07/28 PHP
php关联数组与索引数组及其显示方法
2018/03/12 PHP
PHP框架实现WebSocket在线聊天通讯系统
2019/11/21 PHP
jquery中通过过滤器获取表单元素的实现代码
2011/07/05 Javascript
提取字符串中年月日的函数代码
2013/11/05 Javascript
微信小程序开发之大转盘 仿天猫超市抽奖实例
2016/12/08 Javascript
常用jQuery选择器汇总
2017/02/02 Javascript
移动端刮刮乐的实现方式(js+HTML5)
2017/03/23 Javascript
微信小程序模板template简单用法示例
2018/12/04 Javascript
如何封装了一个vue移动端下拉加载下一页数据的组件
2019/01/06 Javascript
详解vue-cli3 中跨域解决方案
2019/04/10 Javascript
vuex分模块后,实现获取state的值
2020/07/26 Javascript
针对Vue路由history模式下Nginx后台配置操作
2020/10/22 Javascript
[44:47]Ti4 循环赛第三日 iG vs NaVi
2014/07/12 DOTA
python实现支持目录FTP上传下载文件的方法
2015/06/03 Python
Python实现Sqlite将字段当做索引进行查询的方法
2016/07/21 Python
tensorflow 1.0用CNN进行图像分类
2018/04/15 Python
Python实现计算圆周率π的值到任意位的方法示例
2018/05/08 Python
钉钉群自定义机器人消息Python封装的实例
2019/02/20 Python
python GUI库图形界面开发之PyQt5中QWebEngineView内嵌网页与Python的数据交互传参详细方法实例
2020/02/26 Python
浅谈Python中threading join和setDaemon用法及区别说明
2020/05/02 Python
罗德与泰勒百货官网:Lord & Taylor
2016/08/12 全球购物
Kate Spade美国官网:纽约新兴时尚品牌,以包包闻名于世
2017/11/09 全球购物
乐高西班牙官方商店:LEGO Shop ES
2019/12/01 全球购物
党员自我评价分享
2013/12/13 职场文书
幼儿园数学教学反思
2014/02/02 职场文书
春风行动实施方案
2014/03/28 职场文书
车辆工程专业求职信
2014/04/28 职场文书
学校四风对照检查材料
2014/08/28 职场文书
党政领导班子四风问题对照检查材料思想汇报
2014/10/02 职场文书
防汛工作情况汇报
2014/10/28 职场文书
小学优秀教师事迹材料
2014/12/16 职场文书
教师节倡议书2015
2015/04/27 职场文书