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 相关文章推荐
利用文件属性结合Session实现在线人数统计
Oct 09 PHP
一个可以找出源代码中所有中文的工具
Oct 25 PHP
java EJB 加密与解密原理的一个例子
Jan 11 PHP
PHP的变量总结 新手推荐
Apr 18 PHP
setcookie中Cannot modify header information-headers already sent by错误的解决方法详解
May 08 PHP
使用php计算排列组合的方法
Nov 13 PHP
php中json_encode处理gbk与gb2312中文乱码问题的解决方法
Jul 10 PHP
PHP多线程之内部多线程实例分析
Mar 09 PHP
PHP精确计算功能示例
Nov 29 PHP
PHP重定向与伪静态区别
Feb 19 PHP
PHP面向对象多态性实现方法简单示例
Sep 27 PHP
php连接sftp的作用以及实例代码
Sep 23 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 清除网页病毒的方法
2008/12/05 PHP
php检测数组长度函数sizeof与count用法
2014/11/17 PHP
Symfony页面的基本创建实例详解
2015/01/26 PHP
[原创]PHPCMS遭遇会员投稿审核无效的解决方法
2017/01/11 PHP
JavaScript 闭包深入理解(closure)
2009/05/27 Javascript
JavaScript判断窗口是否最小化的代码(跨浏览器)
2010/08/01 Javascript
Jquery ajaxStart()与ajaxStop()方法(实例讲解)
2013/12/18 Javascript
jquery 显示*天*时*分*秒实现时间计时器
2014/05/07 Javascript
JavaScript数组函数unshift、shift、pop、push使用实例
2014/08/27 Javascript
jquery实现漫天雪花飞舞的圣诞祝福雪花效果代码分享
2015/08/20 Javascript
JavaScript中eval函数的问题
2016/01/31 Javascript
JS获取checkbox的个数简单实例
2016/08/19 Javascript
Angular设置title信息解决SEO方面存在问题
2016/08/19 Javascript
jQuery中常用动画效果函数(日常整理)
2016/09/17 Javascript
JS插件plupload.js实现多图上传并显示进度条
2016/11/29 Javascript
动态加载、移除js/css文件的示例代码
2018/03/20 Javascript
AngularJS与BootStrap模仿百度分页的示例代码
2018/05/23 Javascript
微信小程序动态添加view组件的实例代码
2019/05/23 Javascript
分享一个vue项目“脚手架”项目的实现步骤
2019/05/26 Javascript
[01:09]2014DOTA2国际邀请赛 TI4西雅图DOTA2 中国美女coser加油助威
2014/07/20 DOTA
python求众数问题实例
2014/09/26 Python
Python首次安装后运行报错(0xc000007b)的解决方法
2016/10/18 Python
基于Python Numpy的数组array和矩阵matrix详解
2018/04/04 Python
django 环境变量配置过程详解
2019/08/06 Python
python中def是做什么的
2020/06/10 Python
浅析python字符串前加r、f、u、l 的区别
2021/01/24 Python
北美女性服装零售连锁店:maurices
2019/06/12 全球购物
介绍一下mysql的日期和时间函数
2013/03/28 面试题
甲方资料员岗位职责
2013/12/13 职场文书
荷叶圆圆教学反思
2014/02/01 职场文书
办公室综合文员岗位职责范本
2014/02/13 职场文书
学习优秀党员杨宗兴先进事迹材料思想汇报
2014/09/14 职场文书
2015最新婚礼主持词
2015/06/30 职场文书
干部考核工作总结2015
2015/07/24 职场文书
党章党规党纪学习心得体会
2016/01/14 职场文书
mysql 8.0.27 绿色解压版安装教程及配置方法
2022/04/20 MySQL