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 相关文章推荐
php5.2.0内存管理改进
Jan 22 PHP
用PHP 快速生成 Flash 动画的方法
Mar 06 PHP
深入PHP异步执行的详解
Jun 03 PHP
简单谈谈favicon
Jun 10 PHP
PHP判断上传文件类型的解决办法
Oct 20 PHP
PHP简单判断字符串是否包含另一个字符串的方法
Mar 25 PHP
php强制下载文件函数
Aug 24 PHP
PHP数据库处理封装类实例
Dec 24 PHP
PHP实现打包zip并下载功能
Jun 12 PHP
PHP实现的无限分类类库定义与用法示例【基于thinkPHP】
Aug 06 PHP
yii2 url重写并隐藏index.php方法
Dec 10 PHP
PHP pthreads v3下同步处理synchronized用法示例
Feb 21 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
咖啡历史、消费和行业趋势
2021/03/03 咖啡文化
PHP教程 预定义变量
2009/10/23 PHP
PHP实现的简单三角形、矩形周长面积计算器分享
2014/11/18 PHP
服务器迁移php版本不同可能诱发的问题
2015/12/22 PHP
thinkPHP简单调用函数与类库的方法
2017/03/15 PHP
PDO::errorCode讲解
2019/01/28 PHP
事件模型在各浏览器中存在差异
2010/10/20 Javascript
自定义一个jquery插件[鼠标悬浮时候 出现说明label]
2011/06/27 Javascript
js实现网站首页图片滚动显示
2013/02/04 Javascript
js和jquery设置disabled属性为true使按钮失效
2014/08/07 Javascript
基于jQuery实现下拉框
2014/11/24 Javascript
jQuery实现在最后一个元素之前插入新元素的方法
2015/07/18 Javascript
JSON与js对象序列化实例详解
2017/03/16 Javascript
vue.js实现的全选与全不选功能示例【基于elementui】
2018/12/03 Javascript
Element InfiniteScroll无限滚动的具体使用方法
2020/07/27 Javascript
JavaScript实现筛选数组
2021/03/02 Javascript
Python基于动态规划算法计算单词距离
2015/07/25 Python
Python正则抓取网易新闻的方法示例
2017/04/21 Python
浅谈用Python实现一个大数据搜索引擎
2017/11/28 Python
python获取服务器响应cookie的实例
2018/12/28 Python
详解python深浅拷贝区别
2019/06/24 Python
Python替换月份为英文缩写的实现方法
2019/07/15 Python
Python第三方库安装缓慢的解决方法
2021/02/06 Python
详解CSS3浏览器兼容
2016/12/14 HTML / CSS
html5组织文档结构_动力节点Java学院整理
2017/07/11 HTML / CSS
美国指甲油品牌:Deco Miami
2017/01/30 全球购物
微软马来西亚官方网站:Microsoft马来西亚
2019/11/22 全球购物
商务英语专业毕业生自荐信
2013/11/05 职场文书
大学四年个人自我小结
2014/03/05 职场文书
《音乐之都维也纳》教学反思
2014/04/16 职场文书
安全责任协议书
2014/04/21 职场文书
实习单位证明范例
2014/11/17 职场文书
银行员工考核评语
2014/12/31 职场文书
幼儿园教师个人工作总结2015
2015/05/12 职场文书
二年级数学教学反思
2016/02/16 职场文书
python模拟浏览器 使用selenium进入好友QQ空间并留言
2022/04/12 Python