PHP · 2024年11月29日 0

一个简单的PHP验证码包(支持普通字符串和简单的数学运算验证码)

闲着无事,写了一个验证码的包。

gitee地址:https://gitee.com/lushaoming/php-captcha

功能简介

  • 支持普通字符验证码

    随机生成大小写字母数字字符串

  • 支持简单数学运算验证码

    随机生成两位数以内的加减乘除计算 乘法不会出现两个数字都是两位数 除法不会出现除不尽的,除数也不会是0 减法不会出现负数

  • 不涉及验证码存储和校验,需自行实现

要求

  • PHP >= 8.1
  • gd2
  • mbstring

安装

composer require yolo/captcha

使用

<?php

use Yolo\Captcha\Captcha;
use Yolo\Captcha\Core\CaptchaEngine;

require_once __DIR__ . '/../../vendor/autoload.php';

// Global config
Captcha::setConfig([
    'height' => 50,
    'width' => 250,
    'length' => 6, // only for character engine
    'font' => __DIR__ . '/fonts/Arial.ttf',
    'fontSize' => 25,
    'quality' => 0, // 0-9, No effect now
    'backgroundColor' => [255, 255, 255],
    'fontColor' => [0, 0, 0], // No effect now
    'engine' => CaptchaEngine::CHARACTER, // or CaptchaEngine::SIMPLE_ARITHMETIC
]);

$captcha = new Captcha();

$image = $captcha->createCaptcha();

imagepng($image, __DIR__ . '/captcha.png');

// Set the content type and output the image
//header('Content-Type: image/png');
//imagepng($image);

$captcha->destroyCaptcha($image);

// Get the captcha answer
$answer = $captcha->getCaptchaAnswer();