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实现将GB编码转换为UTF8
Nov 25 PHP
php 上传功能实例代码
Apr 13 PHP
使用ThinkPHP自带的Http类下载远程图片到本地的实现代码
Aug 02 PHP
php遍历文件夹下的所有文件和子文件夹示例
Mar 20 PHP
php验证是否是md5编码的简单代码
Apr 01 PHP
ThinkPHP3.1.3版本新特性概述
Jun 19 PHP
ThinkPHP中使用ajax接收json数据的方法
Dec 18 PHP
thinkphp在php7环境下提示Cannot use ‘String’ as class name as it is reserved的解决方法
Sep 30 PHP
thinkphp 字母函数详解T/I/N/D/M/A/R/U
Apr 03 PHP
PHP实现的简单操作SQLite数据库类与用法示例
Jun 19 PHP
PHP实现的登录页面信息提示功能示例
Jul 24 PHP
PHP SESSION机制的理解与实例
Mar 22 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遍历目录与文件夹的多种方法详解
2013/11/14 PHP
ThinkPHP中__initialize()和类的构造函数__construct()用法分析
2014/11/29 PHP
thinkPHP中create方法与令牌验证实例浅析
2015/12/08 PHP
ie支持function.bind()方法实现代码
2012/12/27 Javascript
深入理解JavaScript编程中的原型概念
2015/06/25 Javascript
jQuery实现的AJAX简单弹出层效果代码
2015/11/26 Javascript
非常实用的js验证框架实现源码 附原理方法
2016/06/08 Javascript
浅谈JS继承_寄生式继承 &amp; 寄生组合式继承
2016/08/16 Javascript
bootstrap实现图片自动轮播
2016/12/21 Javascript
ui-router中使用ocLazyLoad和resolve的具体方法
2017/10/18 Javascript
解决koa2 ctx.render is not a function报错问题
2018/08/07 Javascript
vue后台管理之动态加载路由的方法
2018/08/13 Javascript
koa-router路由参数和前端路由的结合详解
2019/05/19 Javascript
layer.alert自定义关闭回调事件的方法
2019/09/27 Javascript
js+audio实现音乐播放器
2020/09/13 Javascript
vue print.js打印支持Echarts图表操作
2020/11/13 Javascript
vue 解决IOS10低版本白屏的问题
2020/11/17 Javascript
python实现发送和获取手机短信验证码
2016/01/15 Python
Python 迭代器工具包【推荐】
2016/05/06 Python
对Python 语音识别框架详解
2018/12/24 Python
对Python中小整数对象池和大整数对象池的使用详解
2019/07/09 Python
python使用正则表达式(Regular Expression)方法超详细
2019/12/30 Python
基于Python计算圆周率pi代码实例
2020/03/25 Python
Space NK英国站:英国热门美妆网站
2017/12/11 全球购物
WiFi云数码相框:Nixplay
2018/07/05 全球购物
Rentalcars.com中国:世界上最大的在线汽车租赁服务
2019/08/22 全球购物
Android面试题及答案
2015/09/04 面试题
无工作经验者个人求职信范文
2013/12/22 职场文书
经济贸易系求职信
2014/08/04 职场文书
学生实习证明范文
2014/09/28 职场文书
2014年自愿离婚协议书
2014/10/10 职场文书
董事长岗位职责
2015/02/13 职场文书
辞职信格式范文
2015/05/13 职场文书
反邪教观后感
2015/06/11 职场文书
篮球赛新闻稿
2015/07/17 职场文书
详解MySQL连接挂死的原因
2021/05/18 MySQL