当前位置:首页 > CMS教程 > 其它CMS > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-11-18 18:03:48 浏览: 评论:0 

这篇文章主要介绍了Laravel框架文件上传功能实现方法,结合实例形式分析了Laravel框架文件上传相关步骤,包括配置、上传功能实现技巧及相关注意事项,需要的朋友可以参考下。

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

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

实现步骤:

(1). 配置文件修改

打开 config/filesystems.php 文件

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

  1. //自定义 
  2. 'uploads' => [ 
  3.   'driver' => 'local'
  4.   //'root' => storage_path('app/uploads'), 
  5.   'root' => public_path('uploads/'.date('Ymd')), 
  6. ], 

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

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

  1. class="panel panel-default"
  2.     class="panel-heading">文件上传 
  3.     class="panel-body"
  4.       class="form-horizontal" role="form" method="POST" action="" enctype="multipart/form-data"
  5.         {{ csrf_field() }} 
  6.         class="form-group"
  7.           for="file" class="col-md-4 control-label">Hello world 
  8.           class="col-md-6"
  9.             "file" type="file" class="form-control" name="source"
  10.            
  11.          
  12.         class="form-group"
  13.           class="col-md-6 col-md-offset-4"
  14.             "submit" class="btn btn-primary"
  15.               class="fa fa-btn fa-sign-in"> 上传 
  16.              
  17.            
  18.          
  19.        
  20.      
  21.  

(3). 控制器核心代码

  1. use Illuminate\Http\Request; 
  2. use Illuminate\Support\Facades\Storage; 
  3. //上传文件 功能实现方法 
  4. public function upload(Request $request){ 
  5.     if ($request->isMethod('POST')){ 
  6.       $file = $request->file('source'); 
  7.       //判断文件是否上传成功 
  8.       if ($file->isValid()){ 
  9.         //原文件名 
  10.         $originalName = $file->getClientOriginalName(); 
  11.         //扩展名 
  12.         $ext = $file->getClientOriginalExtension(); 
  13.         //MimeType 
  14.         $type = $file->getClientMimeType(); 
  15.         //临时绝对路径 
  16.         $realPath = $file->getRealPath(); 
  17.         $filename = uniqid().'.'.$ext
  18.         $bool = Storage::disk('uploads')->put($filename,file_get_contents($realPath)); 
  19.         //判断是否上传成功 
  20.         if($bool){ 
  21.           echo 'success'
  22.         }else
  23.           echo 'fail'
  24.         } 
  25.       } 
  26.     } 
  27.     return view('upload'); 

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

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

Laravel文件上传

Tags: Laravel文件上传

分享到: