广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP怎么实现随机数字、字母的验证码功能
  • 939
分享到

PHP怎么实现随机数字、字母的验证码功能

2023-06-04 09:06:32 939人浏览 薄情痞子
摘要

本篇内容主要讲解“PHP怎么实现随机数字、字母的验证码功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php怎么实现随机数字、字母的验证码功能”吧!废话不多说,直接上代码:1、classgd.

本篇内容主要讲解“PHP怎么实现随机数字、字母的验证码功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习php怎么实现随机数字、字母的验证码功能”吧!



废话不多说,直接上代码:

1、classgd.class.php

<?phpClass Captcha{    private $_fontfile='';    private $_size=36;    private $_width=200;    private $_height=100;    private $_length=4;    private $_image=null;    private $_snow=0;    private $_pixel=0;    private $_line=0;  public function __construct($config=array()){    if(is_array($config)&&count($config)>0){      if(isset($config['fontfile'])&&is_file($config['fontfile'])&&is_readable($config['fontfile'])){        $this->_fontfile=$config['fontfile'];      }else{        return false;      }      if(isset($config['size'])&&$config['size']>0){        $this->_size=(int)$config['size'];      }      if(isset($config['width'])&&$config['width']>0){        $this->_width=(int)$config['width'];      }      if(isset($config['height'])&&$config['height']>0){        $this->_height=(int)$config['height'];      }      if(isset($config['length'])&&$config['length']>0){        $this->_length=(int)$config['length'];      }      if(isset($config['snow'])&&$config['snow']>0){        $this->_snow=(int)$config['snow'];      }      if(isset($config['pixel'])&&$config['pixel']>0){        $this->_pixel=(int)$config['pixel'];      }      if(isset($config['line'])&&$config['line']>0){        $this->_line=(int)$config['line'];      }      $this->_image=imagecreatetruecolor($this->_width,$this->_height);      return $this->_image;     }     else{      return false;    }  }  public function getCaptcha(){    $white=imagecolorallocate($this->_image,255,255,255);    imagefilledrectangle($this->_image,0,0,$this->_width,$this->_height,$white);    $str=$this->_generateStr($this->_length);    if(false===$str){      return false;    }    $fontfile=$this->_fontfile;    for($i=0;$i<$this->_length;$i++){      $size=$this->_size;      $angle=mt_rand(-30,30);      $x=ceil($this->_width/$this->_length)*$i+mt_rand(5,10);      $y=ceil($this->_height/1.5);      $color=$this->_getRandColor();      //针对中文字符截取      //$text=mb_substr($str,$i,1,'utf-8');      $text=$str{$i};      imagettftext($this->_image, $size, $angle, $x, $y, $color, $fontfile, $text);    }    if($this->_snow){      $this->_getSnow();    }else{      if($this->_pixel){        $this->_getPixel();      }      if($this->_line){        $this->_getLine();      }    }    header('content-type:image/png');    imagepng($this->_image);    imagedestroy($this->_image);    return strtolower($str);  }  private function _getSnow(){    for($i=1;$i<=$this->_snow;$i++){      imagestring($this->_image,mt_rand(1,5),mt_rand(0,$this->_width),mt_rand(0,$this->_height),'*',$this->_getRandColor());    }  }  private function _getPixel(){    for($i=1;$i<=$this->_pixel;$i++){      imagesetpixel($this->_image,mt_rand(0,$this->_width),mt_rand(0,$this->_height),$this->_getRandColor());    }  }  private function _getLine(){    for($i=1;$i<=$this->_line;$i++){      imageline($this->_image,mt_rand(0,$this->_width),mt_rand(0,$this->_height),mt_rand(0,$this->_width),mt_rand(0,$this->_height),$this->_getRandColor());    }  }  private function _generateStr($length=4){    if($length<1 || $length>30){      return false;    }    $chars=array(      'a','b','c','d','e','f','g','h','k','m','n','p','x','y','z',      'A','B','C','D','E','F','G','H','K','M','N','P','X','Y','Z',      1,2,3,4,5,6,7,8,9      );    $str=join('',array_rand(array_flip($chars),$length));    return $str;  }  private function _getRandColor(){    return imagecolorallocate($this->_image,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));  }}?>


2、testCaptcha.php

<?phprequire_once 'classgd.class.php';$config=array('fontfile'=>'fonts/simfang.ttf',  //引入字体文件//'snow'=>50,'pixel'=>100,'line'=>10  );$captcha=new Captcha($config);$captcha->getCaptcha();?>


就这样成功实现了随机数字、字母的验证码功能!

到此,相信大家对“PHP怎么实现随机数字、字母的验证码功能”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: PHP怎么实现随机数字、字母的验证码功能

本文链接: https://www.lsjlt.com/news/237126.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PHP怎么实现随机数字、字母的验证码功能
    本篇内容主要讲解“PHP怎么实现随机数字、字母的验证码功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP怎么实现随机数字、字母的验证码功能”吧!废话不多说,直接上代码:1、classgd....
    99+
    2023-06-04
  • PHP中如何实现字母数字混合验证码
    这期内容当中小编将会给大家带来有关PHP中如何实现字母数字混合验证码,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。验证码调用地址:Application\Home\Controller\CodeContr...
    99+
    2023-06-04
  • php怎么实现数字验证码
    本文操作环境:windows7系统、PHP7.1版、DELL G3电脑php怎么实现数字验证码?php实现数字验证码用php实现验证码,验证码是为了区别机器与人的操作,提高安全性。需要安装服务器软件,我使用的是wamp,之后编写php验证码...
    99+
    2014-09-23
    php
  • PHP怎么进行数字和字母的输入限制验证
    本文小编为大家详细介绍“PHP怎么进行数字和字母的输入限制验证”,内容详细,步骤清晰,细节处理妥当,希望这篇“PHP怎么进行数字和字母的输入限制验证”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。什么是输入限制?在...
    99+
    2023-07-05
  • JS如何实现验证密码不能为空、必须含有数字、字母、特殊字符、长度在8-12位的功能
    小编给大家分享一下JS如何实现验证密码不能为空、必须含有数字、字母、特殊字符、长度在8-12位的功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们...
    99+
    2022-10-19
  • php怎么实现发送验证码的功能
    本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑php怎么实现发送验证码的功能PHP实现发送短信验证码:一、html代码<li> <span>手机号码:</span> <inp...
    99+
    2021-10-31
    php 验证码
  • Android怎么自定义View实现随机数验证码
    本篇内容介绍了“Android怎么自定义View实现随机数验证码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!效果自定义 View 分类简单...
    99+
    2023-07-02
  • php中怎么实现一个验证码功能
    php中怎么实现一个验证码功能,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。新建一个captcha.php:php     /...
    99+
    2023-06-17
  • Python随机验证码生成和join字符串的问题怎么解决
    这篇文章主要介绍“Python随机验证码生成和join字符串的问题怎么解决”,在日常操作中,相信很多人在Python随机验证码生成和join字符串的问题怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”P...
    99+
    2023-06-30
  • Python中的行为验证码验证功能怎么实现
    本篇内容主要讲解“Python中的行为验证码验证功能怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中的行为验证码验证功能怎么实现”吧!验证类型概述滑动拼图创新行为式验证,轻松...
    99+
    2023-07-05
  • PHP怎么实现基于梦网云的手机短信验证码功能
    这篇“PHP怎么实现基于梦网云的手机短信验证码功能”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“PHP怎么实现基于梦网云的手...
    99+
    2023-07-05
  • PHP中怎么实现一个验证数据功能
    这篇文章将为大家详细讲解有关PHP中怎么实现一个验证数据功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。您的用户可能十分优秀,并且大多数用户可能完全按照期望来使用应用程序。但是,只要提供了...
    99+
    2023-06-17
  • 怎么使用PHP实现一个短信验证码功能
    本篇内容介绍了“怎么使用PHP实现一个短信验证码功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!第一步:生成短信验证码要生成短信验证码,我...
    99+
    2023-07-05
  • jquery怎么实现一个简单的验证码功能
    随着网络的不断发展,验证码已经成为了互联网中不可或缺的一部分。验证码通常用于防止网站被恶意攻击,防止机器人恶意注册和发送垃圾信息等。本文将介绍如何利用jquery实现一个简单的验证码。一、什么是验证码验证码,全称为“ Completely ...
    99+
    2023-05-14
  • java怎么实现注册的短信验证码功能
    本篇内容介绍了“java怎么实现注册的短信验证码功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!短信验证码实现流程构造手机验证码,生成一个...
    99+
    2023-06-02
  • 实例讲解怎么用php实现一个数据验证功能
    在web开发中,数据验证是一个必不可少的过程。而在php开发中,通常会使用第三方库或框架提供的验证组件来完成数据的验证操作。但是,有时我们需要根据自己的需求去自定义数据验证规则,而这时就需要我们使用php自己的实现来完成数据验证。一、理解数...
    99+
    2023-05-14
  • 使用Java怎么实现一个将字母的大小写相互转换功能
    使用Java怎么实现一个将字母的大小写相互转换功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。实现代码:import java.util.Scanner;public cla...
    99+
    2023-05-31
    java 相互 ava
  • 怎么用jQuery+PHP+Ajax实现动态数字统计展示功能
    这篇文章主要介绍“怎么用jQuery+PHP+Ajax实现动态数字统计展示功能”,在日常操作中,相信很多人在怎么用jQuery+PHP+Ajax实现动态数字统计展示功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家...
    99+
    2023-06-04
  • 怎么在PHP中实现字符串转时间戳的功能
    这篇文章主要讲解了“怎么在PHP中实现字符串转时间戳的功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在PHP中实现字符串转时间戳的功能”吧!一、PHP 中时间戳的概念在 PHP 中,...
    99+
    2023-07-05
  • jquery怎么实现输入框数字的增加和减少功能
    在Web开发中,经常会用到输入框的数字增加和减少功能,例如购物车数量、商品数量等。本文将介绍如何利用jquery实现输入框数字的增加和减少功能。代码实现:首先,需要引入jquery库文件:<script src="https...
    99+
    2023-05-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作