tp6自定义验证码(大解析)

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介: tp6自定义验证码(大解析)

第一步:安装tp6验证码插件
切记,切记,在你的项目的根目录下安装哦,
举个例子:比如phpstudy。那就是在

composer require topthink/think-captcha

效果图:
在这里插入图片描述

第二步:
在这里插入图片描述

<?php
namespace app\admin\controller;//这里的namespace的意思是:你这个文件在哪?这里指的是目录哦
use think\captcha\facade\Captcha;//引用验证码插件,为什么要引用?因为不引用没有这个功能呀。就像继承

class Verify//切记,这个类名与这个文件的文件名保持一致
{
public function verify(){//这个是一个公共方法
    return Captcha::Create();//调用创建验证码的方法。Captcha代表文件。create:代表方法。::代表静态方法
}
}

第三步:修改验证码源码:目的改变验证码的大小
在这里插入图片描述

function captcha_img($id = '', $width='',$height=''): string//:string的意思是必须是字符串类型的才能进入函数内哦
{
    $src = captcha_src($id);//这个是默认的视图文件。就是说哪个视图文件调用它路径就是什么
    $style = "";
    if($width && $height){//如果宽度与高度都有的话。
        $style = 'width="'.$width.'" height="'.$height.'"';//组合一下
    }

  


    return "<img src='{$src}' alt='captcha' " . $style . " onclick='this.src=\"{$src}?\"+Math.random();' />";//组合
}

第三步:
在这里插入图片描述

view视图里面中。

<div  class="admin-captcha" width="90" height="43">{:captcha_img('',96,42)}<img    onclick="this.src='/admin/verify/verify?'+Math.random()"></div>//{:captcha_img('',96,42)}调用验证码图片路径 宽度 高度。Math.random()随机数。具有随机性

在这里插入图片描述

相关文章
|
2月前
|
并行计算 Java 数据处理
SpringBoot高级并发实践:自定义线程池与@Async异步调用深度解析
SpringBoot高级并发实践:自定义线程池与@Async异步调用深度解析
241 0
|
7月前
|
XML Java Android开发
Android实现自定义进度条(源码+解析)
Android实现自定义进度条(源码+解析)
136 1
|
7月前
|
域名解析 网络协议 Serverless
阿里云DNS常见问题之阿里云DNS不再支持自定义NS名称功能如何解决
阿里云DNS(Domain Name System)服务是一个高可用和可扩展的云端DNS服务,用于将域名转换为IP地址,从而让用户能够通过域名访问云端资源。以下是一些关于阿里云DNS服务的常见问题合集:
|
7月前
|
监控 网络协议 安全
阿里云DNS常见问题之阿里云DNS的自定义线路用途不知道如何解决
阿里云DNS(Domain Name System)服务是一个高可用和可扩展的云端DNS服务,用于将域名转换为IP地址,从而让用户能够通过域名访问云端资源。以下是一些关于阿里云DNS服务的常见问题合集:
|
7月前
|
SQL Java 数据库连接
|
2月前
|
人工智能 自然语言处理 前端开发
SpringBoot + 通义千问 + 自定义React组件:支持EventStream数据解析的技术实践
【10月更文挑战第7天】在现代Web开发中,集成多种技术栈以实现复杂的功能需求已成为常态。本文将详细介绍如何使用SpringBoot作为后端框架,结合阿里巴巴的通义千问(一个强大的自然语言处理服务),并通过自定义React组件来支持服务器发送事件(SSE, Server-Sent Events)的EventStream数据解析。这一组合不仅能够实现高效的实时通信,还能利用AI技术提升用户体验。
245 2
|
4天前
|
设计模式 XML Java
【23种设计模式·全精解析 | 自定义Spring框架篇】Spring核心源码分析+自定义Spring的IOC功能,依赖注入功能
本文详细介绍了Spring框架的核心功能,并通过手写自定义Spring框架的方式,深入理解了Spring的IOC(控制反转)和DI(依赖注入)功能,并且学会实际运用设计模式到真实开发中。
【23种设计模式·全精解析 | 自定义Spring框架篇】Spring核心源码分析+自定义Spring的IOC功能,依赖注入功能
|
2月前
|
程序员 开发者 Python
深度解析Python中的元编程:从装饰器到自定义类创建工具
【10月更文挑战第5天】在现代软件开发中,元编程是一种高级技术,它允许程序员编写能够生成或修改其他程序的代码。这使得开发者可以更灵活地控制和扩展他们的应用逻辑。Python作为一种动态类型语言,提供了丰富的元编程特性,如装饰器、元类以及动态函数和类的创建等。本文将深入探讨这些特性,并通过具体的代码示例来展示如何有效地利用它们。
58 0
|
4月前
|
域名解析 网络协议 API
【API管理 APIM】APIM集成内部VNet时,常遇见的关于自定义DNS服务问题。
【API管理 APIM】APIM集成内部VNet时,常遇见的关于自定义DNS服务问题。
|
4月前
|
开发者 监控 开发工具
如何将JSF应用送上云端?揭秘在Google Cloud Platform上部署JSF应用的神秘步骤
【8月更文挑战第31天】本文详细介绍如何在Google Cloud Platform (GCP) 上部署JavaServer Faces (JSF) 应用。首先,确保已准备好JSF应用并通过Maven构建WAR包。接着,使用Google Cloud SDK登录并配置GCP环境。然后,创建`app.yaml`文件以配置Google App Engine,并使用`gcloud app deploy`命令完成部署。最后,通过`gcloud app browse`访问应用,并利用GCP的监控和日志服务进行管理和故障排查。整个过程简单高效,帮助开发者轻松部署和管理JSF应用。
65 0

推荐镜像

更多