验证码组件

优质
小牛编辑
139浏览
2023-12-01

swoole框架提供了验证码生成的类库,使用者仅需要调用内置的方法即可生成图形验证码。

//Controller的方法
function vcode()
{
    //启动会话
    $this->session->start();
    //输出格式为图片
    $this->http->header('Content-Type', 'image/png');
    //生成验证码
    $verifyCode = Swoole\Image::verifycode_gd();
    //将验证码数字写入session
    $_SESSION['vcode'] = $verifyCode['code'];
    return $verifyCode['image'];
}

GD库

$verifyCode = Swoole\Image::verifycode_gd();

Imagick库

$verifyCode = Swoole\Image::verifycode_imagick();

汉字验证码

  • 需要freetype库的支持,可使用gd_info()函数打印当前gd库是否支持freetype
  • 需要汉字字体,第一个参数为字体文件路径
$verifyCode = Swoole\Image::verifycode_chinese('/data/fonts/wqy-microhei.ttc');

返回值

3种验证码生成函数的返回值是相同的,都是数组格式。

  • image项为图形验证码的图片二进制内容
  • code验证码的数值