查看: 42|回复: 0

扣丁学堂PHP培训分享PHP生成加减算法方式的验证码

发表于 7 天前
PHP的使用对于不少的小伙伴来说已经不在陌生了,本篇文章扣丁学堂PHP培训小编和大家分享一下PHP如何生成加减算法方式的验证码,对PHP感兴趣的小伙伴和小编一起看一下吧。


这是在网上找的一个demo,加入了一部分代码。可以使用。这里需要说明一下,我们调用这个验证码类应该在一个单独的控制器方法中使用,生成的图片的算法是用代码生成的,然后把计算值存入session中。
验证的时候是获取用户的输入值,然后取出服务端的值进行对比:
<?php
namespace mobile\components;
/**
* @author fenghuo
*
* 改造的加减法验证类
* 使用示例 VerifyCode::get(1,2);
* 验证示例 VerifyCode::check($code);
*/
class VerifyCode
{
  /**
   * php验证码
   */
  public static function get($one,$two,$prefix = '', $font_size = 28)
  {
    //文件头...
    ob_get_clean();
    header("Content-type: image/png;charset=utf-8;");
    //创建真彩色白纸
    $width      = $font_size*5;
    $height      = $font_size+1;
    $im        = @imagecreatetruecolor($width, $height) or die("建立图像失败");
    //获取背景颜色
    $background_color = imagecolorallocate($im, 255, 255, 255);
    //填充背景颜色
    imagefill($im, 0, 0, $background_color);
    //获取边框颜色
    $border_color   = imagecolorallocate($im, 200, 200, 200);
    //画矩形,边框颜色200,200,200
    imagerectangle($im,0,0,$width - 1, $height - 1,$border_color);
    //逐行炫耀背景,全屏用1或0
    for($i = 2;$i < $height - 2;$i++) {
      //获取随机淡色
      $line_color = imagecolorallocate($im, rand(200,255), rand(200,255), rand(200,255));
      //画线
      imageline($im, 2, $i, $width - 1, $i, $line_color);
    }

在以上就是扣丁学堂PHP在线学习小编给大家分享的生成加减算法方式的验证码实例,希望对小伙伴们有所帮助,想要学习php技术的小伙伴可以登录扣丁学堂官网查询更多内容。扣丁学堂不仅有专业的老师和与时俱进的课程体系,还有大量的PHP在线教程供学员观看学习,扣丁学堂是专业的PHP培训机构。扣丁学堂PHP技术交流群:374332265。


文章转载自:扣丁学堂http://www.codingke.com/


回复

使用道具 举报