本文实例讲述了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运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
# php
# 中文
# 验证码
# php简单统计中文个数的方法
# PHP统计目录中文件以及目录中目录大小的方法
# php中计算中文字符串长度、截取中文字符串的函数代码
# PHP 实现字符串翻转(包含中文汉字)的实现代码
# php与javascript正则匹配中文的方法分析
# php自定义截取中文字符串-utf8版
# php实现的中文分词类完整实例
# php中文字符串截取多种方法汇总
# PHP的Json中文处理解决方案
# php自定义函数实现统计中文字符串长度的方法小结
# 操作技巧
# 程序设计
# 相关内容
# 将其
# 感兴趣
# 给大家
# 更多关于
# 所述
# 中国
# 面向对象
# 运算符
# 新建项目
# 编程技巧
# 验证码错误
# 讲述了
# imagestring
# imageline
# bg
# color
相关文章:
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
红河网站制作公司,红河事业单位身份证如何上传?
如何快速生成凡客建站的专业级图册?
电脑免费海报制作网站推荐,招聘海报哪个网站多?
如何通过虚拟主机快速完成网站搭建?
南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?
Swift开发中switch语句值绑定模式
定制建站如何定义?其核心优势是什么?
如何在阿里云通过域名搭建网站?
平台云上自主建站:模板化设计与智能工具打造高效网站
建站之星上传入口如何快速找到?
c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗
东莞专业制作网站的公司,东莞大学生网的网址是什么?
个人网站制作流程图片大全,个人网站如何注销?
枣阳网站制作,阳新火车站打的到仙岛湖多少钱?
,网页ppt怎么弄成自己的ppt?
重庆市网站制作公司,重庆招聘网站哪个好?
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
javascript中的try catch异常捕获机制用法分析
沈阳制作网站公司排名,沈阳装饰协会官方网站?
浅谈Javascript中的Label语句
想学网站制作怎么学,建立一个网站要花费多少?
潮流网站制作头像软件下载,适合母子的网名有哪些?
非常酷的网站设计制作软件,酷培ai教育官方网站?
如何在万网主机上快速搭建网站?
山东网站制作公司有哪些,山东大源集团官网?
建站之星安装步骤有哪些常见问题?
建站之星logo尺寸如何设置最合适?
网站制作服务平台,有什么网站可以发布本地服务信息?
昆明高端网站制作公司,昆明公租房申请网上登录入口?
建站之星安装需要哪些步骤及注意事项?
php8.4新语法match怎么用_php8.4match表达式替代switch【方法】
如何通过虚拟主机快速搭建个人网站?
高性价比服务器租赁——企业级配置与24小时运维服务
成都网站制作报价公司,成都工业用气开户费用?
微信推文制作网站有哪些,怎么做微信推文,急?
佛山网站制作系统,佛山企业变更地址网上办理步骤?
建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析
香港服务器选型指南:免备案配置与高效建站方案解析
如何配置支付宝与微信支付功能?
如何快速选择适合个人网站的云服务器配置?
简单实现Android文件上传
jQuery 常见小例汇总
网页设计与网站制作内容,怎样注册网站?
建站VPS能否同时实现高效与安全翻墙?
如何在服务器上三步完成建站并提升流量?
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
香港服务器建站指南:免备案优势与SEO优化技巧全解析
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
Python lxml的etree和ElementTree有什么区别
*请认真填写需求信息,我们会在24小时内与您取得联系。