如何用php做验证码,怎么利用php实现中文验证码的功能

这篇文章主要介绍了php实现的简单中文验证码功能,结合实例形式分析了php中文验证码功能的实现步骤与操作方法,包括图形创建、编码操作、session操作等相关技巧,需要的朋友可以参考下

本文实例讲述了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];

}

}

?>

运行效果图如下:

97d972f637ce2baf040dd0651c53238f.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值