巅云智能建站平台搭建版(创业门户版)火爆上线,终身授权!新增:文章智能采集+全站真静态打包+城市分站+智能小程序+非法词过滤+H5自适应+智能链词等功能功能详情
建站专提News

Laravel下生成验证码的类

一佰互联网站开发设计(www.yinxi.net) 发布日期 2019-04-25 14:40:47 浏览数: 95

本文实例为大家分享了Laravel生成验证码的类,供大家参考,具体内容如下

<?php namespace AppToolValidate; //验证码类class ValidateCode {  private $charset = "abcdefghkmnprstuvwxyzABCDEFGHKMNPRSTUVWXYZ23456789";//随机因子  private $code;//验证码  private $codelen = 4;//验证码长度  private $width = 130;//宽度  private $height = 50;//高度  private $img;//图形资源句柄  private $font;//指定的字体  private $fontsize = 20;//指定字体大小  private $fontcolor;//指定字体颜色   //构造方法初始化  public function __construct()  {    $this->font = public_path() . "/fonts/Elephant.ttf";//注意字体路径要写对,否则显示不了图片    $this->createCode();  }  //生成随机码  private function createCode()  {    $_len = strlen($this->charset) - 1;    for ($i = 0;$i < $this->codelen;++$i) {      $this->code .= $this->charset[mt_rand(0, $_len)];    }  }  //生成背景  private function createBg()  {    $this->img = imagecreatetruecolor($this->width, $this->height);    $color = imagecolorallocate($this->img, mt_rand(157, 255), mt_rand(157, 255), mt_rand(157, 255));    imagefilledrectangle($this->img, 0, $this->height, $this->width, 0, $color);  }  //生成文字  private function createFont()  {    $_x = $this->width / $this->codelen;    for ($i = 0;$i < $this->codelen;++$i) {      $this->fontcolor = imagecolorallocate($this->img, mt_rand(0, 156), mt_rand(0, 156), mt_rand(0, 156));      imagettftext($this->img, $this->fontsize, mt_rand(-30, 30), $_x * $i + mt_rand(1, 5), $this->height / 1.4, $this->fontcolor, $this->font, $this->code[$i]);    }  }  //生成线条、雪花  private function createLine()  {    //线条    for ($i = 0;$i < 6;++$i) {      $color = imagecolorallocate($this->img, mt_rand(0, 156), mt_rand(0, 156), mt_rand(0, 156));      imageline($this->img, mt_rand(0, $this->width), mt_rand(0, $this->height), mt_rand(0, $this->width), mt_rand(0, $this->height), $color);    }    //雪花    for ($i = 0;$i < 100;++$i) {      $color = imagecolorallocate($this->img, mt_rand(200, 255), mt_rand(200, 255), mt_rand(200, 255));      imagestring($this->img, mt_rand(1, 5), mt_rand(0, $this->width), mt_rand(0, $this->height), "*", $color);    }  }  //输出  private function outPut()  {    header("Content-type:image/png");    imagepng($this->img);    imagedestroy($this->img);  }  //对外生成  public function doimg()  {    $this->createBg();    $this->createLine();    $this->createFont();    $this->outPut();  }  //获取验证码  public function getCode()  {    return strtolower($this->code);  }}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持网页设计。  

一佰互联是全国知名建站品牌服务商,我们有九年网站建设网站制作、网页设计、php开发和域名注册及虚拟主机服务经验,提供的自助建站服务更是全国有名。近年来还整合团队优势自主开发了可视化多用户”巅云建站系统“3.0平台版,拖拽排版网站制作设计,轻松实现pc站、手机微网站、小程序、APP一体化全网营销网站建设 ,已成功的为全国上百家网络公司提供自助建站平台搭建服务。更多资讯:tags标签

相关新闻more

30
04月
PHP和JAVA中的重载(overload)

重载:同一个类中,函数名一样,返回值或者参数类型,个数不一样的叫做重载。 覆盖:同名函数,同返回值类型,同参数的叫做覆盖。指的是子类对父类中... >>详情

29
03月
「ASO优化推广」运用实行ASO优化方法与误

简介:【ASO优化实行】运用实行ASO优化方法与误区动作APP在运用商场中要害实行手法的ASO,跟着苹果闭于积分墙、刷榜等实行办法的节制晋级... >>详情

26
03月
自媒体营销操作要领

简介:就目前来看,构成自媒体的主要目的是在工作生活以及其他方面获得相应的回报,比如拓展人际关系、推广产品、提高自身知名度以及影响力等。尽管很... >>详情

20
04月
HTML5+CSS3模仿优酷视频截图功能示例

一般的视频网站对于用户上传的视频,在用户上传完成后,可以对播放的视频进行截图,然后作为视频的展示图。项目中也可以引入这样的功能给用户一种不错... >>详情

高端网站建设

美工兼顾SEO,为企业电子商务营销助力!

电话:

023-85725751
建站

产品

域名注册 虚拟主机 云服务器 企业邮局
智能建站 APP打包 微站/小程序 创业平台
网站推广 媒体营销 智能采集 AI机器人
400电话 短信营销 店销机器人
私人定制 门户网站