小标
2018-09-14
来源 :
阅读 1114
评论 0
摘要:本文主要向大家介绍了PHP语言之php生成中文验证码程序,通过具体的内容向大家展示,希望对大家学习php语言有所帮助。
本文主要向大家介绍了PHP语言之php生成中文验证码程序,通过具体的内容向大家展示,希望对大家学习php语言有所帮助。
今天无意中想起写验证码数字加汉字,下面是代码比较容易没什么好说
先来看看效果图吧.
还不错吧?
Header("Content-type: image/PNG");//生成图片的类型
$str = "的一是在了不和有大这主中人蚕亿矩";//随便回的你可以自己增加
$Width = 240;//图片高度
$imgHeight = 40;//图片宽度
$C_img = imagecreate($Width,$imgHeight);
$bgColor = ImageColorAllocate($C_img,255,255,255);
$f_font = "heiti.ttf";//这里可以选择其它的字体
$white=imagecolorallocate($C_img,234,185,95);
imagearc($C_img, 150, 8, 20, 20, 75, 170, $white);
imagearc($C_img, 180, 7,50, 30, 75, 175, $white);
imageline($C_img,20,20,180,30,$white);
imageline($C_img,20,18,170,50,$white);
imageline($C_img,25,50,80,50,$white);
$noise_num = 800;//杂点的数据
$line_num = 20;//线条的数量
imagecolorallocate($C_img,0xff,0xff,0xff);
$rectangle_color=imagecolorallocate($C_img,0xAA,0xAA,0xAA);
$noise_color=imagecolorallocate($C_img,0x00,0x00,0x00);
$font_color=imagecolorallocate($C_img,0x00,0x00,0x00);
$line_color=imagecolorallocate($C_img,0x00,0x00,0x00);
for($i=0;$i<$noise_num;$i++){
imagesetpixel($C_img,mt_rand(0,$Width),mt_rand(0,$imgHeight),$noise_color);
}
for($i=0;$i<$line_num;$i++){
imageline($C_img,mt_rand(0,$Width),mt_rand(0,$imgHeight),mt_rand(0,$Width),mt_rand(0,$imgHeight),$line_color);
}
$randnum=rand(0,strlen($str)-4);
if($randnum%2)$randnum+=1;
$str = substr($str,$randnum,8);
$str = iconv("GB2312","UTF-8",$str).rand(0,1000);//转换编码
ImageTTFText($C_img, 20, 0, 16, 30, $font_color, $f_font, $str);
ImagePNG($C_img);
ImageDestroy($C_img);
?>
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言PHP频道!
喜欢 | 0
不喜欢 | 0
您输入的评论内容中包含违禁敏感词
我知道了

请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号