关于laravel系统自带的文件上传功能(转)

文章是转过来的,里面的方法亲测有效。

本文链接:https://blog.csdn.net/qq_27516777/article/details/79723057
    对于上传文件这个功能,说难吧,其实都是封装好的,真的不难。说不难吧,各种配置什么的有时候真的也会让人头疼。今天呢,就说一下关于laravel的上传功能的介绍。

    直接调用命令从composer上下载了一份laravel的框架,命名为blog(这个随便)

    进入文件blog->config->filesystems.php,其中有一个disk的配置。

    

简单的解释一下

disk配置项的总调用,在后面会用到的。可以把它当做一个public的调用方法这样就很好理解了
local代表的是其中的一个小的配置项,因为或许一个项目中,要有很多不同的存储方式或者存储位置,local,public,s3都是表示不同的存储方式。
driver表示的是存储位置,像local表示的就是存储在本地项目中。s3是存储在亚马逊的磁盘位置,或许还有很多,到时候我们就可以按照这三个的demo模式继续的创建
因为一般都是存储在项目本身,所以我们下面去掉s3的解释。
root表示的是文件存储的位置。‘app/public’表示的就是文件存储在blog->storage->app->public下面。‘’app/public‘’是可以随意的改变的。
正常的就像local的两个配置就可以了。
   配置完之后呢就到了代码块了。代码块就相当简单了。
创建路由,路由自己定义就好了(这个就不用解释了吧)
编写和路由对应的方法,在方法里面开始编写代码。
    前端代码

<div class="container">
    <div class="panel-heading">上传文件</div>
    <form class="form-horizontal" method="POST" action="" enctype="multipart/form-data">
        {{ csrf_field() }}           
        <label for="file">选择文件</label>
        <input id="file" type="file" class="form-control" name="source" required>    
        <button type="submit" class="btn btn-primary">确定</button>
    </form>
</div>
红色部分代码是必须加上的,如果不加上的话,下面的php语句中的代码验证就无法实现

后端代码

3

public function upload(Request $request){
        if ($request->isMethod('POST')) { //判断是否是POST上传,应该不会有人用get吧,恩,不会的
 
            //在源生的php代码中是使用$_FILE来查看上传文件的属性
            //但是在laravel里面有更好的封装好的方法,就是下面这个
            //显示的属性更多
            $fileCharater = $request->file('source');
 
            if ($fileCharater->isValid()) { //括号里面的是必须加的哦
                //如果括号里面的不加上的话,下面的方法也无法调用的
 
                //获取文件的扩展名 
                $ext = $fileCharater->getClientOriginalExtension();
 
                //获取文件的绝对路径
                $path = $fileCharater->getRealPath();
 
                //定义文件名
                $filename = date('Y-m-d-h-i-s').'.'.$ext;
 
                //存储文件。disk里面的public。总的来说,就是调用disk模块里的public配置
                Storage::disk('public')->put($filename, file_get_contents($path));
            }
        }
        return view('upload');
    }
    小编是一边弄一边打,生怕自己写错了给你们笑话。最后成功的上传了文件进去。

       


————————————————
版权声明:本文为CSDN博主「Mizrke」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_27516777/article/details/79723057

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值