Laravel框架文件上传功能实现方法示例


Posted in PHP onApril 16, 2019

本文实例讲述了Laravel框架文件上传功能实现方法。分享给大家供大家参考,具体如下:

  • 以Laravel 5.2.45 框架为主,进行文件上传功能的实现如下:

实现步骤:

(1). 配置文件修改

打开 config/filesystems.php 文件

在 ‘disks' 数组中添加如下代码

//自定义
'uploads' => [
  'driver' => 'local',
  //'root' => storage_path('app/uploads'),
  'root' => public_path('uploads/'.date('Ymd')),
],

(2).前端视图 upload.blade.php

根据需求,设计简单的视图,核心代码如下

<div class="panel panel-default">
    <div class="panel-heading">文件上传</div>
    <div class="panel-body">
      <form class="form-horizontal" role="form" method="POST" action="" enctype="multipart/form-data">
        {{ csrf_field() }}
        <div class="form-group">
          <label for="file" class="col-md-4 control-label">Hello world</label>
          <div class="col-md-6">
            <input id="file" type="file" class="form-control" name="source">
          </div>
        </div>
        <div class="form-group">
          <div class="col-md-6 col-md-offset-4">
            <button type="submit" class="btn btn-primary">
              <i class="fa fa-btn fa-sign-in"></i> 上传
            </button>
          </div>
        </div>
      </form>
    </div>
</div>

(3). 控制器核心代码

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
//上传文件 功能实现方法
public function upload(Request $request){
    if ($request->isMethod('POST')){
      $file = $request->file('source');
      //判断文件是否上传成功
      if ($file->isValid()){
        //原文件名
        $originalName = $file->getClientOriginalName();
        //扩展名
        $ext = $file->getClientOriginalExtension();
        //MimeType
        $type = $file->getClientMimeType();
        //临时绝对路径
        $realPath = $file->getRealPath();
        $filename = uniqid().'.'.$ext;
        $bool = Storage::disk('uploads')->put($filename,file_get_contents($realPath));
        //判断是否上传成功
        if($bool){
          echo 'success';
        }else{
          echo 'fail';
        }
      }
    }
    return view('upload');
}

(4). 执行上述方法结果

通过调用上述方法,正确执行后,上传的文件将出现在 public/uploads 的对应日期目录下

Laravel框架文件上传功能实现方法示例

希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

PHP 相关文章推荐
php.ini中的php-5.2.0配置指令详解
Mar 27 PHP
PHP file_get_contents 函数超时的几种解决方法
Jul 30 PHP
codeigniter中实现一次性加载多个view的方法
Mar 20 PHP
php使用Jpgraph绘制饼状图的方法
Jun 10 PHP
Joomla开启SEF的方法
May 04 PHP
浅析php中array_map和array_walk的使用对比
Nov 20 PHP
完美解决在ThinkPHP控制器中命名空间的问题
May 05 PHP
PHP使用XMLWriter读写xml文件操作详解
Jul 31 PHP
PHP进阶学习之垃圾回收机制详解
Jun 18 PHP
php7性能提升的原因详解
Oct 13 PHP
浅析PHP中的 inet_pton 网络函数
Dec 16 PHP
利用PHP内置SERVER开启web服务(本地开发使用)
Mar 09 PHP
PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法
Apr 16 #PHP
PHP获取远程http或ftp文件的md5值的方法
Apr 15 #PHP
php文件操作之文件写入字符串、数组的方法分析
Apr 15 #PHP
PHP实现读取文件夹及批量重命名文件操作示例
Apr 15 #PHP
ThinkPHP3.2.3框架Memcache缓存使用方法实例总结
Apr 15 #PHP
Linux下安装Memcached服务器和客户端与PHP使用示例
Apr 15 #PHP
Laravel如何创建服务器提供者实例代码
Apr 15 #PHP
You might like
PHP函数篇之掌握ord()与chr()函数应用
2011/12/05 PHP
PHP header()函数使用详细(301、404等错误设置)
2013/04/17 PHP
PHP 应用容器化以及部署方法
2018/02/12 PHP
jquery 实现二级/三级/多级联动菜单的思路及代码
2013/04/08 Javascript
网页前端优化之滚动延时加载图片示例
2013/07/13 Javascript
JavaScript运动减速效果实例分析
2015/08/04 Javascript
AngularJS教程 ng-style 指令简单示例
2016/08/03 Javascript
nodejs个人博客开发第七步 后台登陆
2017/04/12 NodeJs
Angularjs中的验证input输入框只能输入数字和小数点的写法(推荐)
2017/08/16 Javascript
JavaScript实现图片放大镜效果
2019/06/27 Javascript
json_decode 索引为数字时自动排序问题解决方法
2020/03/28 Javascript
es6函数之尾递归用法实例分析
2020/04/25 Javascript
[06:40]2014DOTA2西雅图国际邀请赛 DK战队巡礼
2014/07/07 DOTA
[54:29]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第二场
2018/04/09 DOTA
Python设计模式之观察者模式实例
2014/04/26 Python
使用Python读写及压缩和解压缩文件的示例
2016/07/08 Python
python如何统计序列中元素
2020/07/31 Python
Python/ArcPy遍历指定目录中的MDB文件方法
2018/10/27 Python
详解10个可以快速用Python进行数据分析的小技巧
2019/06/24 Python
python爬取盘搜的有效链接实现代码
2019/07/20 Python
对python中url参数编码与解码的实例详解
2019/07/25 Python
使用CSS3在触屏上为按钮实现激活效果
2013/09/27 HTML / CSS
CSS3 RGBA色彩模式使用实例讲解
2016/04/26 HTML / CSS
里程积分管理买卖交换平台:Points.com
2017/01/13 全球购物
将世界上最美丽的摄影作品转化为艺术作品:Photos.com
2017/11/28 全球购物
生产部统计员岗位职责
2014/01/05 职场文书
学雷锋志愿者活动总结
2014/06/27 职场文书
《中国梦我的梦》中学生演讲稿
2014/08/20 职场文书
市级三好学生事迹材料
2014/08/27 职场文书
“四风”问题对照检查材料思想汇报
2014/09/16 职场文书
2014年政风行风工作总结
2014/11/22 职场文书
发布会邀请函
2015/01/31 职场文书
2015年清明节网上祭英烈留言寄语
2015/03/04 职场文书
大学生英文求职信范文
2015/03/19 职场文书
详解Java实践之建造者模式
2021/06/18 Java/Android
Python中的pprint模块
2021/11/27 Python