php生成动态验证码

 

 

代码部分

<?php
/**
 * Created by PhpStorm.
 * User: QLX
 * Date: 2019/8/29
 * Time: 10:16
 *  生成动态验证码
 */
 header('Content-Type:image/jpeg');
 $width = 120;
 $height = 40;
$chars = array('a','b','c','d','e','f','g','h',
                 'i','j','k', 'l','m','n', 'o','p','q','r', 's',
                't','u','v', 'w', 'x','y','z', 'A', 'B', 'C', 'D',
                'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L','M', 'N', 'O',
                'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y','Z');
   $str = '';
   for ($index = 0; $index<4;$index++){
       $str .= $chars[rand(0,count($chars)-1)];
   }
 $img = imagecreatetruecolor($width,$height);    //绘制照片
 $colorBg = imagecolorallocate($img,rand(200,255),rand(200,255),rand(200,255));     //绘制颜色
 $colorDot = imagecolorallocate($img,rand(100,200),rand(100,200),rand(100,200));      //点的颜色
 $colorLine = imagecolorallocate($img,rand(100,200),rand(100,200),rand(100,200));      //线的颜色
 $colorFont = imagecolorallocate($img,rand(10,100),rand(10,100),rand(10,100));      //线的颜色
   imagefill($img,0,0,$colorBg);  //填充背景颜色
     for ($i=0;$i<200;$i++){
         imagesetpixel($img,rand(0,$width-1),rand(0,$height-1),$colorDot);  //在图片上绘制随机点
      }

      for ($j=0;$j<5;$j++){
            imageline($img,rand(0,$width/2),rand(0,$height),rand($width/2,$width-1),rand(0,$height),$colorLine);
      }
    imagettftext($img,20,rand(-5,10),rand(1,15),rand(20,35),$colorFont,'kanit-v1-latin-700italic.woff',$str);
 imagejpeg($img);  //保存照片
 imagedestroy($img); //销毁照片

动态效果需要每次刷新网页变化:

字体下载页面:http://font.chinaz.com/190820334690.htm

图像函数

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值