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&amp;&amp;mysql)二
Oct 09 PHP
php4的session功能评述(二)
Oct 09 PHP
php_xmlhttp 乱码问题解决方法
Aug 07 PHP
PHP的password_hash()使用实例
Mar 17 PHP
codeigniter数据库操作函数汇总
Jun 12 PHP
php格式输出文件var_export函数实例
Nov 15 PHP
PHP实现将HTML5中Canvas图像保存到服务器的方法
Nov 28 PHP
php is_executable判断给定文件名是否可执行实例
Sep 26 PHP
highchart数据源纵轴json内的值必须是int(详解)
Feb 20 PHP
PHP基于SMTP协议实现邮件发送实例代码
Apr 27 PHP
yii2的restful api路由实例详解
May 14 PHP
如何通过PHP实现Des加密算法代码实例
May 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
星际争霸教主Flash的ID由来:你永远不会知道他之前的ID是www!
2019/01/18 星际争霸
聊天室php&amp;mysql(四)
2006/10/09 PHP
PHP Ajax中文乱码问题解决方法
2009/02/27 PHP
php strstr查找字符串中是否包含某些字符的查找函数
2010/06/03 PHP
PHP下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码
2011/09/19 PHP
ubuntu12.04使用c编写php扩展模块教程分享
2013/12/25 PHP
使用YUI+Ant 实现JS CSS压缩
2014/09/02 PHP
Yii2.0 模态弹出框+ajax提交表单
2016/05/22 PHP
php车辆违章查询数据示例
2016/10/14 PHP
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
PHP5.6.8连接SQL Server 2008 R2数据库常用技巧分析总结
2019/05/06 PHP
js 图片轮播(5张图片)
2008/12/30 Javascript
javascript中[]和{}对象使用介绍
2013/03/20 Javascript
JavaScript设计模式之原型模式(Object.create与prototype)介绍
2014/12/28 Javascript
不得不分享的JavaScript常用方法函数集(上)
2015/12/23 Javascript
js中通过getElementsByName访问name集合对象的方法
2016/10/31 Javascript
angular2倒计时组件使用详解
2017/01/12 Javascript
javascript 判断一个对象为数组的方法
2017/05/03 Javascript
详解使用webpack打包编写一个vue-toast插件
2017/11/08 Javascript
Vue中的情侣属性$dispatch和$broadcast详解
2019/03/07 Javascript
Webpack中loader打包各种文件的方法实例
2019/09/03 Javascript
微信小程序实现简单文字跑马灯
2020/05/26 Javascript
python生成IP段的方法
2015/07/07 Python
Python socket网络编程TCP/IP服务器与客户端通信
2017/01/05 Python
教你用Python写安卓游戏外挂
2018/01/11 Python
从0开始的Python学习016异常
2019/04/08 Python
Django websocket原理及功能实现代码
2020/11/14 Python
python-地图可视化组件folium的操作
2020/12/14 Python
德国原装品牌香水、化妆品和手表网站:BRASTY.DE
2016/10/16 全球购物
寻找迷宫的一条出路,o通路;X:障碍
2016/07/10 面试题
2014年预备党员学习新党章思想汇报
2014/09/15 职场文书
邀请函样本
2015/02/02 职场文书
2015年幼儿园后勤工作总结
2015/04/25 职场文书
换届选举主持词
2015/07/03 职场文书
500字作文之周记
2019/12/13 职场文书
Python借助with语句实现代码段只执行有限次
2022/03/23 Python