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源代码
Oct 09 PHP
Dedecms V3.1 生成HTML速度的优化办法
Mar 18 PHP
php设计模式 Composite (组合模式)
Jun 26 PHP
php.ini中date.timezone设置分析
Jul 29 PHP
关于php循环跳出的问题
Jul 01 PHP
PHP计算数组中值的和与乘积的方法(array_sum与array_product函数)
Apr 01 PHP
PHP7安装Redis扩展教程【Linux与Windows平台】
Sep 30 PHP
详解Yii2.0使用AR联表查询实例
Jun 16 PHP
基于PHP实现栈数据结构和括号匹配算法示例
Aug 10 PHP
php双层循环(九九乘法表)
Oct 23 PHP
基于Laravel 多个中间件的执行顺序详解
Oct 21 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
Mar 27 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 上一篇,下一篇文章实现代码与原理说明
2010/05/09 PHP
php 如何获取文件的后缀名
2016/06/05 PHP
PHP中explode函数和split函数的区别小结
2016/08/24 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
2017/07/19 PHP
PHP cookie与session会话基本用法实例分析
2019/11/18 PHP
Dom加载让图片加载完再执行的脚本代码
2008/05/15 Javascript
ajax中get和post的说明及使用与区别
2012/12/23 Javascript
当鼠标滑过文本框自动选中输入框内容的JS代码分享
2013/11/26 Javascript
node.js中的buffer.toJSON方法使用说明
2014/12/14 Javascript
AngularJS基础 ng-paste 指令简单示例
2016/08/02 Javascript
Javascript实现图片懒加载插件的方法
2016/10/20 Javascript
jQuery 移动端拖拽(模块化开发,触摸事件,webpack)
2016/10/28 Javascript
Angular2入门--架构总览
2017/03/29 Javascript
使用JS模拟锚点跳转的实例
2018/02/01 Javascript
利用d3.js力导布局绘制资源拓扑图实例教程
2019/01/08 Javascript
NVM安装nodejs的方法实用步骤
2019/01/16 NodeJs
js 实现碰撞检测的示例
2020/10/28 Javascript
vue 通过 Prop 向子组件传递数据的实现方法
2020/10/30 Javascript
vue打开新窗口并实现传参的图文实例
2021/03/04 Vue.js
python中随机函数random用法实例
2015/04/30 Python
python获取外网ip地址的方法总结
2015/07/02 Python
Python实现二叉树结构与进行二叉树遍历的方法详解
2016/05/24 Python
Python金融数据可视化汇总
2017/11/17 Python
DataFrame中的object转换成float的方法
2018/04/10 Python
用python实现刷点击率的示例代码
2019/02/21 Python
对DJango视图(views)和模版(templates)的使用详解
2019/07/17 Python
Python爬虫HTPP请求方法有哪些
2020/06/03 Python
如何用Python和JS实现的Web SSH工具
2021/02/23 Python
英国泰坦旅游网站:全球陪同游览,邮轮和铁路旅行
2016/11/29 全球购物
远程Wi-Fi宠物监控相机:Petcube
2017/04/26 全球购物
美国演唱会订票网站:Ticketmaster美国
2017/10/05 全球购物
淘宝客服自我总结鉴定
2014/01/25 职场文书
幼儿园中班教师个人工作总结
2015/02/06 职场文书
学校清洁工岗位职责
2015/04/15 职场文书
2019安全宣传标语大全
2019/08/14 职场文书
jquery插件实现悬浮的菜单
2021/04/24 jQuery