使用composer:
composer require gregwar/captcha
我们可以使用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的session()
来记录验证码并用于比对用户输入的验证码是否有效,请看:
<?php $_SESSION[\'phrase\'] = $builder->getPhrase();
上述代码在生成验证码的时候就把验证码保存在session中,当用户提交输入的验证码后,再从session中取出来进行比对,具体处理代码请查看DEMO和下载DEMO中的源码。
生成的验证码默认是5个字符,那如果你想生成4个字符的验证码,可以这样:
<?php use Gregwar\\Captcha\\CaptchaBuilder;use Gregwar\\Captcha\\PhraseBuilder; $phraseBuilder = new PhraseBuilder(4); $builder = new CaptchaBuilder(null, $phraseBuilder); $builder->build(); header(\'Content-type: image/jpeg\'); $builder->output();
如果你想生成的验证码只有数字,只需修改:
<?php $phraseBuilder = new PhraseBuilder(4, \'0123456789\');
这样就可以生成4个数字的验证码。
build($width = 150, $height = 40, $font = null)
:设置生成的验证码的宽度、高度以及字体。默认情况下,将随机使用库中的字体。
save($filename, $quality = 80)
:生成一张指定文件名和图片质量的jpg验证码图片。
get($quality = 80)
:获取jpg图片data数据。
output($quality = 80)
:向浏览器输出图片。
setBackgroundColor($r, $g, $b)
:设置验证码背景色,这个选项一般不推荐使用。
getPhrase()
:获取验证码内容。
更多详情请参考captcha项目地址:https://github.com/Gregwar/Captcha.
本文地址:https://www.stayed.cn/item/78
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我