ahead4/captcha

验证码生成器

安装数: 6,326

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 5

分支: 286

类型:captcha

v1.1.1 2015-09-11 15:23 UTC

README

Captchas examples

安装

使用 composer

{
    ...
    "require": {
        "gregwar/captcha": "1.*"
    }
}

使用方法

您可以使用 CaptchaBuilder 创建验证码

<?php

use Gregwar\Captcha\CaptchaBuilder;

$builder = new CaptchaBuilder;
$builder->build();

然后将其保存到文件中

<?php

$builder->save('out.jpg');

或者直接输出

<?php

header('Content-type: image/jpeg');
$builder->output();

或者直接在 HTML 页面中内联

<img src="<?php echo $builder->inline(); ?>" />

您将能够获取代码并与用户输入进行比较

<?php

// Example: storing the phrase in the session to test for the user 
// input later
$_SESSION['phrase'] = $builder->getPhrase();

您可以比较短语与用户输入

if($builder->testPhrase($userInput)) {
    // instructions if user phrase is good
}
else {
    // user phrase is wrong
}

API

您可以使用以下函数

  • __construct($phrase = null),使用给定的短语构建构建器,如果短语为 null,则将生成一个随机短语
  • getPhrase(),允许您获取短语内容
  • setDistortion($distortion),启用或禁用失真,在 build() 调用之前调用它
  • isOCRReadable(),如果可以使用 ocrad 软件读取 OCR,则返回 true,您需要启用 shell_exec,安装 imagemagick 和 ocrad
  • buildAgainstOCR($width = 150, $height = 40, $font = null),构建代码,直到它不能被 ocrad 读取
  • build($width = 150, $height = 40, $font = null),使用给定的 $width、$height 和 $font 构建代码。默认情况下,将使用库中的随机字体
  • save($filename, $quality = 80),将验证码保存到 $filename 中的 jpeg,并使用给定的质量
  • get($quality = 80),返回 jpeg 数据
  • output($quality = 80),直接将 jpeg 代码输出到浏览器
  • setBackgroundColor($r, $g, $b),将背景颜色设置为强制颜色(这将禁用许多效果,不推荐使用)
  • setBackgroundImages(array($imagepath1, $imagePath2)),设置要用作验证码背景的自定义背景图像。当传递自定义背景图像时,建议禁用图像效果(ignore_all_effects)。从提供的列表中选择一个随机图像,必须传递图像文件的完整路径。
  • setInterpolation($interpolate),启用或禁用插值(默认启用),禁用它将更快,但图像将看起来更难看
  • setIgnoreAllEffects($ignoreAllEffects),禁用验证码图像上的所有效果。当传递自定义背景图像作为验证码时推荐使用
  • testPhrase($phrase),如果给定的短语是好的,则返回 true
  • setMaxBehindLines($lines),设置代码后面的最大行数
  • setMaxFrontLines($lines),设置代码前面的最大行数

Symfony 2 Bundle

您可以查看以下存储库以享受打包此验证码生成器的 Symfony 2 Bundle: https://github.com/Gregwar/CaptchaBundle

许可证

此库采用 MIT 许可证,请参阅 LICENSE 文件