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中养成7个面向对象的好习惯
Jan 28 PHP
简单的php文件上传(实例)
Oct 27 PHP
php自定义函数截取汉字长度
May 15 PHP
PHP中多维数组的foreach遍历示例
Jun 13 PHP
php生成html文件方法总结
Dec 01 PHP
PHP中防止SQL注入方法详解
Dec 25 PHP
php通过排列组合实现1到9数字相加都等于20的方法
Aug 03 PHP
PHP的Yii框架中Model模型的学习教程
Mar 29 PHP
PHP 年月日的三级联动实例代码
May 24 PHP
Laravel-admin之修改操作日志的方法
Sep 30 PHP
Git命令之分支详解
Mar 02 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 删除记录实现代码
2009/03/12 PHP
php上传文件的增强函数
2010/07/21 PHP
dhtmlxTree目录树增加右键菜单以及拖拽排序的实现方法
2013/04/26 PHP
php实现读取内存顺序号
2015/03/29 PHP
PHP的运行机制与原理(底层)
2015/11/16 PHP
WordPress中给媒体文件添加分类和标签的PHP功能实现
2015/12/31 PHP
PHP静态成员变量和非静态成员变量详解
2017/02/14 PHP
Riot.js 快速的JavaScript单元测试框架
2009/11/09 Javascript
JavaScript 字符串与数组转换函数[不用split与join]
2009/12/13 Javascript
用jQuery获取IE9下拉框默认值问题探讨
2013/07/22 Javascript
一个html5播放视频的video控件只支持android的默认格式mp4和3gp
2014/05/08 Javascript
jQuery实现的网页左侧在线客服效果代码
2015/10/23 Javascript
javascript类型系统——undefined和null全面了解
2016/07/13 Javascript
js严格模式总结(分享)
2016/08/22 Javascript
Javascript blur与click冲突解决办法
2017/01/09 Javascript
vue-自定义组件传值的实例讲解
2018/09/18 Javascript
详解JavaScript 中的批处理和缓存
2020/11/19 Javascript
[04:10]2016国际邀请赛中国区预选赛第二日TOP10精彩集锦
2016/06/28 DOTA
利用Python和OpenCV库将URL转换为OpenCV格式的方法
2015/03/27 Python
Django添加KindEditor富文本编辑器的使用
2018/10/24 Python
详解Python匿名函数(lambda函数)
2019/04/19 Python
Python操作Excel工作簿的示例代码(\*.xlsx)
2020/03/23 Python
Matplotlib 折线图plot()所有用法详解
2020/07/28 Python
匡威比利时官网:Converse Belgium
2017/04/13 全球购物
阿根廷在线宠物商店:Puppis
2018/03/23 全球购物
时尚、社区、科技:SEVENSTORE
2019/04/26 全球购物
Pretty You London官网:英国拖鞋和睡衣品牌
2019/05/08 全球购物
银行自荐信范文
2013/10/07 职场文书
公证委托书模板
2014/04/03 职场文书
计算机售后服务承诺书
2014/05/30 职场文书
拔河比赛口号
2014/06/10 职场文书
学校节能宣传周活动总结
2014/07/09 职场文书
幼儿园教师工作总结2015
2015/04/02 职场文书
比赛口号霸气押韵
2015/12/24 职场文书
2019新员工试用期转正工作总结范文
2019/08/21 职场文书
Nginx跨域问题解析与解决
2022/08/05 Servers