图片验证码绘制类

功能说明

phpGrace 封装了 verifyCode 工具类类用于生成图片验证码,并使用  session 记录验证码数据。【默认已集成】

构造函数

Code phpLine:8复制
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
    • __construct($width = 88, $height = 30, $totalChars = 4, $numbers = 1, $fontFamily = 'FiraCode.ttf')
    • 参数 :
    • 1. 图片验证码宽度,可选参数,默认 88
    • 2. 图片验证码高度,可选参数,默认 30
    • 3. 图片验证码字符总数,可选参数,默认 4
    • 4. 图片验证码字符中数字字符的数量,可选参数,默认 1
    • 5. 图片验证码使用的字体文件,可选参数,默认 FiraCode.ttf;
    • 如果需要使用自定义字体,请复制字体文件到 /phpGrace/fonts/ 文件夹,并传递字体名称作为参数;

    相关属性

    Code phpLine:8复制
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
    • public $bgcolor = array(255,255,255); // 背景颜色
    • public $codeColor = array(0, 0, 0); // 验证码颜色
    • public $fontSize = 20; // 验证码字符大小
    • public $fontFamily = null; // 字体文件路径
    • public $noise = true; // 绘制干扰
    • public $saveWithSession = true; // 是否利用session保存验证码
    • public $sessionName = 'pgVcode'; // 验证码在Session中储存的名称
    • private $img = null; // 绘图资源

    演示代码

    # 控制器代码

    Code phpLine:20复制
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
    • <?php
    • class indexController extends grace{
    • public function makeAcode(){
    • $vcode = new phpGrace\tools\verifyCode(88, 32, 5, 1);
    • /*
    • //$vcode->bgcolor = array(255, 0, 0); //验证码背景颜色
    • $vcode->codeColor = array(0, 255, 0); //验证码文本颜色
    • $vcode->fontSize = 16; //验证码文字大小
    • $vcode->noise = true; //是否绘制干扰字符
    • $vcode->noiseNumber = 10; //干扰字符数量
    • $vcode->sessionName = 'yourname'; //保存验证码的 session 名称
    • */
    • $vcode->draw();
    • }
    • // 在 index 对应的视图内展示验证码图片
    • public function index(){
    • }
    • }

    # 视图代码 ( 含点击切换演示 )

    Code phpLine:18复制
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
    • <html>
    • <head>
    • <title></title>
    • </head>
    • <body>
    • <form action="" method="post">
    • 验证码 : <br />
    • <input type="text" name="yzm" /><img src="/test/index/makeAcode" onclick="changeVcode(this);" /><br />
    • <input type="submit" id="" value="提交" />
    • </form>
    • <script type="text/javascript">
    • //点击更换验证码
    • function changeVcode(vcodeImg){
    • vcodeImg.setAttribute('src', '/test/index/makeAcode/' + Math.random());
    • }
    • </script>
    • </body>
    • </html>

    下载地址

    mac 系统环境 可以在编辑器的tools目录下通过 Terminal 执行命令行直接下载到目录里

    Code bashLine:1复制
  • 1.
    • curl -O http://liukuaizhuan.gitee.io/phpgracemanual/工具/验证码绘制类/verifyCode.php