• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    php结合GD库简单实现验证码的示例代码

    前几日正好重温下GD库,来玩一下生成带有干扰素的验证码。

    生成字母数字的图片验证码

    首先需要看php.ini配置文件中有没有GD库,如果没有开启,请自行开启下,我用的小皮面板,基本现在都给你带上了。

    需要生成4位(位数自定)验证码

    //首先生成4位验证码
    
    //开启session
    session_start();
    //数组集合
    $arr = array_merge(range(0,9),range('a','z'),range('A','Z'));
    //打乱数组
    shuffle($arr);
    //截取4位验证码
    $code = array_slice($arr,0,4);
    //全部转为小写
    $code = strtolower(join('',$code));
    var_dump($code);
    //将code存入session
    $_SESSION['code'] = $code;
    


    3. 开启GD库画图

    注意一下这个imagecolorallocate函数

    //创建画布
    $img = imagecreate(120,30);
    //画布颜色
    $white = imagecolorallocate($img,255,255,255);
    //自定义集中颜色
    $c1 = imagecolorallocate($img,14,38,54);
    $c2 = imagecolorallocate($img,63,5,16);
    $c3 = imagecolorallocate($img,248,248,42);
    $c4 = imagecolorallocate($img,0,0,0);
    //点干扰素
    for ($i = 0;$i  300;$i++){
      imagesetpixel($img,rand(0,120),rand(0,30),$c1);
    }
    //虚线干扰素
    for($j = 0;$j  200;$j++){
     imagedashedline($img,rand(0,120),rand(0,30),rand(0,120),rand(0,30),$c2);
    }
    //线干扰素
    for ($j = 0;$j  10;$j++){
     imageline($img,rand(0,120),rand(0,30),rand(0,120),rand(0,30),$c2);
    }
    //字体,这个你路径对了就OK
    $font = "simhei.ttf";
    //向图像写入文本
    imagettftext($img,18,2,40,20,$c4,$font,$code);
    //以jpg格式输出,还有以png啥的,imagepng这个自己看
    imagejpeg($img);
    //结束之后销毁,不销毁也行,php自带垃圾回收
    imagedestroy($img);

    前台的展示

    ?php
      session_start();
      print_r($_POST);
      print_r($_SESSION['code']);
      //如果提交的验证码跟session里面存的一样及认证成功
      if($_POST['n3'] == $_SESSION['code']){
        echo '注册成功';
      }else{
        echo '注册失败';
      }
    ?>
    !doctype html>
    html lang="en">
    head>
      meta charset="UTF-8">
      meta name="viewport"
         content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
      meta http-equiv="X-UA-Compatible" content="ie=edge">
      title>Document/title>
    /head>
    body>
    form action="" method="post">
      input type="text" name="n1" placeholder="cc">
      input type="text" name="n2" placeholder="s">
      input type="text" name="n3">
      !--这里点击刷新验证码 -->
      img src="xxx.php" onclick="this.src='index.php?'+Math.random()" alt="">
      input type="submit" value="submit">
    /form>
    /body>
    /html>

    搞定完事。到此这篇关于php结合GD库简单实现验证码的示例代码的文章就介绍到这了,更多相关php GD库验证码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • PHP5中GD库生成图形验证码(有汉字)
    • php中使用GD库做验证码
    • PHP通过GD库实现验证码功能示例
    • php通过GD库实现验证码功能
    • PHP使用GD库制作验证码的方法(点击验证码或看不清会刷新验证码)
    • PHP 用session与gd库实现简单验证码生成与验证的类方法
    • php结合GD库实现中文验证码的简单方法
    上一篇:php和腾讯直播的实现代码
    下一篇:php的curl携带header请求头信息实现http访问的方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    php结合GD库简单实现验证码的示例代码 php,结合,库,简单,实现,验证,