这期内容当中小编将会给大家带来有关怎么在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 src="img.php"><br/> <input type="text" name="check"><br/> <input type="submit" value="提交"> </form>
运行效果图如下:
上述就是小编为大家分享的怎么在php项目中实现一个中文验证码功能了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。