laravel系统自带的文件上传功能

2022-05-15 0 372

下面由Laravel教程栏目给大家介绍laravel系统自带的文件上传功能 ,希望对需要的朋友有所帮助!

laravel系统自带的文件上传功能

对于上传文件这个功能,说难吧,其实都是封装好的,真的不难。说不难吧,各种配置什么的有时候真的也会让人头疼。今天呢,就说一下关于laravel的上传功能的介绍。

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

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

laravel系统自带的文件上传功能

简单的解释一下

disk配置项的总调用,在后面会用到的。可以把它当做一个public的调用方法这样就很好理解了local代表的是其中的一个小的配置项,因为或许一个项目中,要有很多不同的存储方式或者存储位置,local,public,s3都是表示不同的存储方式。driver表示的是存储位置,像local表示的就是存储在本地项目中。s3是存储在亚马逊的磁盘位置,或许还有很多,到时候我们就可以按照这三个的demo模式继续的创建因为一般都是存储在项目本身,所以我们下面去掉s3的解释。root表示的是文件存储的位置。‘app/public’表示的就是文件存储在blog->storage->app->public下面。‘’app/public‘’是可以随意的改变的。正常的就像local的两个配置就可以了。

配置完之后呢就到了代码块了。代码块就相当简单了。

创建路由,路由自己定义就好了(这个就不用解释了吧)编写和路由对应的方法,在方法里面开始编写代码。

前端代码

<p class="container">    <p class="panel-heading">上传文件</p>    <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></p>

红色部分代码是必须加上的,如果不加上的话,下面的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');    }

小编是一边弄一边打,生怕自己写错了给你们笑话。最后成功的上传了文件进去。

laravel系统自带的文件上传功能

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

【声明:根据2013年1月30日《计算机软件保护条例》2次修订第17条规定: 为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存 储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬! 鉴于此,也希望大家按此说明研究软件!】
本站所有源码尽量保证原汁原味,如有特殊情况会作出声明及标注,网站资源不做任何二次加密(原版加密除外,不影响程序使用的不会做解密处理),方便您更好的学习参考。 在您的能力范围内,为了大环境的良性发展,请尽可能的选择正版资源。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

即刻码站__国内靠谱的站长资源下载平台 php教程 laravel系统自带的文件上传功能 https://www.jike1995.com/36629.html

常见问题
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度
查看详情

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务