码迷,mamicode.com
首页 > Web开发 > 详细

thinkphp5 验证码和自定义路由

时间:2020-04-25 17:33:13      阅读:87      评论:0      收藏:0      [点我收藏+]

标签:type   路由规则   date   BMI   自定义   文件上传   this   post请求   扩展包   

首先使用Composer安装think-captcha扩展包:

composer require topthink/think-captcha=1.*

模版内验证码的显示

<div>{:captcha_img()}</div>
<div><img src="{:captcha_src()}" alt="captcha" onclik="this.src=‘{:captcha_src()}‘" /></div>

内置验证功能,添加captcha验证规则即可

$this->validate($data,[
captcha|验证码=>require|captcha
]);
//或者手动验证
if(!captcha_check($captcha)){
 //验证失败
};

文件上传:

表单代码如

<form action="/index/index/upload" enctype="multipart/form-data" method="post">
<input type="file" name="image" /> <br> 
<input type="submit" value="上传" /> 
</form> 

控制器代码:

public function upload(){
    // 获取表单上传文件 例如上传了001.jpg
    $file = request()->file(image);
    // 移动到框架应用根目录/public/uploads/ 目录下
    if($file){
        $info = $file->validate([size=>15678,ext=>jpg,png,gif])
->move(ROOT_PATH . public . DS . uploads);
        if($info){
            // 成功上传后 获取上传信息
            // 输出 jpg
            echo $info->getExtension();
            // 输出 20160820/42a79759f284b767dfcb2a0197904287.jpg
            echo $info->getSaveName();
            // 输出 42a79759f284b767dfcb2a0197904287.jpg
            echo $info->getFilename(); 
        }else{
            // 上传失败获取错误信息
            echo $file->getError();
        }
    }}

如何自定义路由

路由定义采用\think\Route类,通常是在应用的路由配置文件application/route.php进行注册

use think\Route;// 注册路由到index模块的News控制器的read操作
Route::rule(new/:id,index/News/read);

访问:

http://serverName/new/5
http://serverName/index/news/read/id/5

可以在rule方法中指定请求类型,不指定的话默认为任何请求类型

Route::rule(new/:id,News/update,POST);

技术图片

系统提供了为不同的请求类型定义路由规则的简化方法,

Route::get(new/:id,News/read); // 定义GET请求路由规则
Route::post(new/:id,News/update); // 定义POST请求路由规则
Route::put(new/:id,News/update); // 定义PUT请求路由规则
Route::delete(new/:id,News/delete); // 定义DELETE请求路由规则
Route::any(new/:id,News/read); // 所有请求都支持的路由规则

批量注册

Route::rule([
路由规则1=>路由地址和参数,
路由规则2=>[路由地址和参数,匹配参数(数组),变量规则(数组)]
...
],‘‘,请求类型,匹配参数(数组),变量规则);

定义路由配置文件

除了支持动态注册,也可以直接在应用目录下面的route.php 的最后通过返回数组的方式直接定义路由规则。路由动态注册和配置定义的方式可以共存

thinkphp5 验证码和自定义路由

标签:type   路由规则   date   BMI   自定义   文件上传   this   post请求   扩展包   

原文地址:https://www.cnblogs.com/ltl11230/p/12773435.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!