zoukankan      html  css  js  c++  java
  • 验证码一(验证码生成)

    <?php
    /**
    * 根据手机好查询密码
    * @return [type] [description]
    */
    $code = "";
    for ($i = 0; $i < 6; $i++) {
    $code .= rand(0, 9);
    }
    //4位验证码也可以用rand(1000,9999)直接生成
    //将生成的验证码写入session,备验证时用
    session_start();
    $_SESSION["verify_num"] = $code;

    //创建图片,定义颜色值
    header("Content-type: image/PNG");
    $im = imagecreate(80, 30);
    $black = imagecolorallocate($im, 0, 0, 0);
    $gray = imagecolorallocate($im, 200, 200, 200);
    $bgcolor = imagecolorallocate($im, 255, 255, 255);
    //填充背景
    imagefill($im, 0, 0, $gray);
    //画边框
    imagerectangle($im, 0, 0, 80-1, 30-1, $black);
    //随机绘制两条虚线,起干扰作用
    $style = array ($black,$black,$black,$black,$black,$gray,$gray,$gray,$gray,$gray);
    imagesetstyle($im, $style);
    $y1 = rand(0, 30);
    $y2 = rand(0, 30);
    $y3 = rand(0, 30);
    $y4 = rand(0, 30);
    imageline($im, 0, $y1, 80, $y3, IMG_COLOR_STYLED);
    imageline($im, 0, $y2, 80, $y4, IMG_COLOR_STYLED);
    //在画布上随机生成大量黑点,起干扰作用;
    for ($i = 0; $i < 80; $i++) {
    imagesetpixel($im, rand(0, 80), rand(0, 30), $black);
    }
    //将数字随机显示在画布上,字符的水平间距和位置都按一定波动范围随机生成
    $strx = rand(3, 8);
    for ($i = 0; $i < 6; $i++) {
    $strpos = rand(1, 6);
    imagestring($im, 5, $strx, $strpos, substr($code, $i, 1), $black);
    $strx += rand(8, 12);
    }
    imagepng($im);//输出图片
    imagedestroy($im);//释放图片所占内存

    ?>

  • 相关阅读:
    盒模型
    DTD
    JS 中的 __proto__ 、prototype、constructor
    ES 5 中 判断数组的方法
    js keyup、keypress和keydown事件
    webpack 安装 url-loader 模块后,图片地址展示错误问题
    前端展示PDF内容
    对象的深拷贝
    IE 11 中不知promise 的 finally 方法
    js判断一个字符串是否为纯数字组成
  • 原文地址:https://www.cnblogs.com/54sen/p/8484149.html
Copyright © 2011-2022 走看看