PHP实现验证码图片

<?php

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

session_start();

 

$authnum = '';

$str = 'abcdefghigklmnopqrstuvwxyz1234567890';

$strLength = strlen($str);

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

{

    $num = rand(0, $strLength -1);

    $authnum .= $str[$num];

}

    $_SESSION['authnum'] = $authnum;

    srand((double)microtime()*1000000);

    $im = imagecreate(200, 100);

   

    $gary = imagecolorallocate($im, 200, 200, 100);

    $white = imagecolorallocate($im, 255, 255, 255);

   

    imagefill($im, 10, 5, $gary);

    $li = imagecolorallocate($im, 150, 150, 150);

   

    for($i =0;$i<3;$i++)//绘制三条干扰线

    {

       imageline($im, rand(0, 20), rand(0, 100), rand(180, 200), rand(0, 100), $li);

       //起点的x尽量靠左边,y任意,终点尽量靠右边,y任意

    }

   

    for($i=0;$i<strlen($_SESSION['authnum']);$i++)//绘制四个字符

    {

       $strcolor= imagecolorallocate($im, mt_rand(0, 100), mt_rand(50, 150), mt_rand(100, 200));

       $fontsize = mt_rand(10, 20);

       $x = mt_rand(1,20)+200*$i/4;

       $y = mt_rand(1, 50);

       imagestring($im, $fontsize, $x, $y, $_SESSION['authnum'][$i], $strcolor);

    }

 

imagepng($im);

imagedestroy($im);

?>

运行效果如图所示:

转载于:https://www.cnblogs.com/Jasxu/p/PHP_yanzhengtupian.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值