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 相关文章推荐
图书管理程序(二)
Oct 09 PHP
php+mysql分页代码详解
Mar 27 PHP
php中将指针移动到数据集初始位置的实现代码[mysql_data_seek]
Nov 01 PHP
解析数组非数字键名引号的必要性
Aug 09 PHP
PHP保留两位小数并且四舍五入及不四舍五入的方法
Sep 22 PHP
destoon设置自定义搜索的方法
Jun 21 PHP
CI框架常用方法小结
May 17 PHP
php获取远程图片并下载保存到本地的方法分析
Oct 08 PHP
PHP实现通过CURL上传文件功能示例
May 30 PHP
PHP反射实际应用示例
Apr 03 PHP
php集成开发环境详解
Sep 24 PHP
PHP实现通过二维数组键值获取一维键名操作示例
Oct 11 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操作Access类(PHP+ODBC+Access)
2007/01/02 PHP
php自动获取目录下的模板的代码
2010/08/08 PHP
php开启openssl的方法
2014/05/15 PHP
php使用curl获取https请求的方法
2015/02/11 PHP
JS(jQuery)实现聊天接收到消息语言自动提醒功能详解【提示“您有新的消息请注意查收”】
2019/04/16 PHP
一个网马的tips实现分析
2010/11/28 Javascript
js中一个函数获取另一个函数返回值问题探讨
2013/11/21 Javascript
jQuery中index()的用法分析
2014/09/05 Javascript
上传文件返回的json数据会被提示下载问题解决方案
2014/12/03 Javascript
jquery中val()方法是从最后一个选项往前读取的
2015/09/06 Javascript
使用postMesssage()实现iframe跨域页面间的信息传递
2016/03/29 Javascript
Bootstrap Fileinput文件上传组件用法详解
2016/05/10 Javascript
AngularJS指令详解及示例代码
2016/08/16 Javascript
js实现界面向原生界面发消息并跳转功能
2016/11/22 Javascript
使用OPENLAYERS3实现点选的方法
2020/09/24 Javascript
Vue.js 点击按钮显示/隐藏内容的实例代码
2018/02/08 Javascript
Python读写Excel文件方法介绍
2014/11/22 Python
用Python计算三角函数之acos()方法的使用
2015/05/15 Python
Python爬虫将爬取的图片写入world文档的方法
2018/11/07 Python
Django 路由控制的实现代码
2018/11/08 Python
TensorFlow梯度求解tf.gradients实例
2020/02/04 Python
python判断一个变量是否已经设置的方法
2020/08/13 Python
python 实现围棋游戏(纯tkinter gui)
2020/11/13 Python
Python修改DBF文件指定列
2020/12/19 Python
HTML5打开手机扫码功能及优缺点
2017/11/27 HTML / CSS
武汉世纪畅想数字传播有限公司.NET笔试题
2014/07/22 面试题
关于是否需要写商业计划书
2014/02/07 职场文书
4S店售后客服自我评价
2014/04/09 职场文书
2014年护理工作总结范文
2014/11/14 职场文书
2014年销售内勤工作总结
2014/12/01 职场文书
求职信内容一般写什么?
2015/03/20 职场文书
小学语文国培研修日志
2015/11/13 职场文书
小学美术教学反思
2016/02/17 职场文书
数学复习课教学反思
2016/02/18 职场文书
干货:如何写好工作总结报告!
2019/05/10 职场文书
JS精髓原型链继承及构造函数继承问题纠正
2022/06/16 Javascript