为了账号安全,请及时绑定邮箱和手机立即绑定

php之验证码

标签:
PHP

<?php

header("Content-type: image/png");

gd_info();

$num=5;//生成验证码的字母个数

$type=2;//验证码的类型,0表示只有数字,1表示数字和小写字母,2表示数字和大写字母

$str=getCode($num,$type);

$width=$num*20;

$hight=30;

$im=imagecreatetruecolor($width,$hight);

 

$color=imagecolorallocate($im,100,100,100);

$bg = imagecolorallocate($im,255,2,255);

imagefill($im,0,0,$bg);

 

###添加干扰点

for($i=0;$i<200;$i++){

        imagesetpixel($im,rand(0,$width),rand(0,$hight),$color);

}

  

###添加干扰线

for($i=0;$i<5;$i++){

        imageline($im,rand(0,$width),rand(0,$hight),rand(0,$width),rand(0,$hight),$color);

}

 

####在画布上画字符

for($i=0;$i<$num;$i++){

        imagechar($im,1000,5+(18*$i),8,$str[$i],$color);//图像源,字体大小,倾斜角度(0为不倾斜),起始x坐标,起始y坐标,颜色,字体文件,内容

}

 

//ob_clean();//清除缓冲区内

 

imagepng($im);

imagedestroy($im);

 

function getCode($num,$type)

{

        $content="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";

        $t=array(9,35,strlen($content)-1);

        $c="";

        for($i=0;$i<$num;$i++)

        {

                $c.=$content[rand(0,$t[$type])];

        }

        return $c;

}

?>

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消