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来检测proxy
Oct 09 PHP
Session的工作方式
Oct 09 PHP
php Smarty date_format [格式化时间日期]
Mar 15 PHP
Linux下实现PHP多进程的方法分享
Aug 16 PHP
PHP写的加密函数,支持私人密钥(详细介绍)
Jun 09 PHP
PHP函数addslashes和mysql_real_escape_string的区别
Apr 22 PHP
制作个性化的WordPress登陆界面的实例教程
May 21 PHP
使用PHP免费发送定时短信的实例
Oct 24 PHP
学习thinkphp5.0验证类使用方法
Nov 16 PHP
PHP中遍历数组的三种常用方法实例分析
Jun 24 PHP
TP3.2.3框架使用CKeditor编辑器在页面中上传图片的方法分析
Dec 31 PHP
使用Entrust扩展包在laravel 中实现RBAC的功能
Mar 16 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图片添加水印功能示例小结
2016/10/03 PHP
PHP实现浏览器中直接输出图片的方法示例
2018/03/14 PHP
jQuery Mobile 导航栏代码
2013/11/01 Javascript
jquery简单实现滚动条下拉DIV固定在头部不动
2013/11/25 Javascript
轻松创建nodejs服务器(8):非阻塞是如何实现的
2014/12/18 NodeJs
jQuery实现tab标签自动切换的方法
2015/02/28 Javascript
JavaScript 函数的执行过程
2016/05/09 Javascript
使用jQuery实现Web页面换肤功能的要点解析
2016/05/12 Javascript
使用JavaScript为一张图片设置备选路径的方法
2017/01/04 Javascript
原生js获取left值和top值的三种方法
2017/08/02 Javascript
JS获取子、父、兄节点方法小结
2017/08/14 Javascript
nodejs实现OAuth2.0授权服务认证
2017/12/27 NodeJs
JS简单实现动态添加HTML标记的方法示例
2018/04/08 Javascript
原生js实现拖拽功能基本思路详解
2018/04/18 Javascript
Vue.js项目中管理每个页面的头部标签的两种方法
2018/06/25 Javascript
详解js location.href和window.open的几种用法和区别
2019/12/02 Javascript
Python比较文件夹比另一同名文件夹多出的文件并复制出来的方法
2015/03/05 Python
使用django-crontab实现定时任务的示例
2018/02/26 Python
Python爬虫设置代理IP的方法(爬虫技巧)
2018/03/04 Python
Python实现的redis分布式锁功能示例
2018/05/29 Python
从django的中间件直接返回请求的方法
2018/05/30 Python
python实现网页自动签到功能
2019/01/21 Python
使用PIL(Python-Imaging)反转图像的颜色方法
2019/01/24 Python
更新修改后的Python模块方法
2019/03/03 Python
Python用dilb提取照片上人脸的示例
2020/10/26 Python
Python 利用argparse模块实现脚本命令行参数解析
2020/12/28 Python
Pycharm在指定目录下生成文件和删除文件的实现
2020/12/28 Python
Html5移动端获奖无缝滚动动画实现示例
2018/06/25 HTML / CSS
html5的canvas方法使用指南
2014/12/15 HTML / CSS
空指针到底是什么
2012/08/07 面试题
关于保护环境的建议书
2014/08/26 职场文书
工作所在部门证明
2014/09/21 职场文书
公安派出所所长四风问题个人对照检查材料
2014/10/04 职场文书
举起手来观后感
2015/06/09 职场文书
带你了解CSS基础知识,样式
2021/07/21 HTML / CSS
Java结构型设计模式之组合模式详解
2022/09/23 Java/Android