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 相关文章推荐
40个迹象表明你还是PHP菜鸟
Sep 29 PHP
PHP高级OOP技术演示
Aug 27 PHP
JS 网站性能优化笔记
May 24 PHP
php array的学习笔记
May 16 PHP
Yii把CGridView文本框换成下拉框的方法
Dec 03 PHP
php使用for语句输出三角形的方法
Jun 09 PHP
Yii2.0高级框架数据库增删改查的一些操作
Nov 16 PHP
PHP环境搭建(php+Apache+mysql)
Nov 14 PHP
php防止sql注入的方法详解
Feb 20 PHP
php实现与python进行socket通信的方法示例
Aug 30 PHP
PHP创建XML的方法示例【基于DOMDocument类及SimpleXMLElement类】
Sep 10 PHP
phpfpm的作用和用法
Oct 10 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
新安装的MySQL数据库需要注意的安全知识
2008/07/30 PHP
php简单防盗链实现方法
2015/07/29 PHP
javascript css styleFloat和cssFloat
2010/03/15 Javascript
Javascript 面向对象 命名空间
2010/05/13 Javascript
JavaScript高级程序设计 事件学习笔记
2011/09/10 Javascript
从数据结构分析看:用for each...in 比 for...in 要快些
2013/04/17 Javascript
jQuery使用技巧简单汇总
2013/04/18 Javascript
JS判定是否原生方法
2013/07/22 Javascript
js实现瀑布流的一种简单方法实例分享
2013/11/04 Javascript
JS按条件 serialize() 对应标签的使用方法
2017/07/24 Javascript
微信小程序多列选择器range-key使用详解
2020/03/30 Javascript
iview在vue-cli3如何按需加载的方法
2018/10/31 Javascript
详解Vue.js v-for不支持IE9的解决方法
2018/12/29 Javascript
使用vue构建多页面应用的示例
2020/10/22 Javascript
Python OS模块常用函数说明
2015/05/23 Python
Python切换pip安装源的方法详解
2016/11/18 Python
Sanic框架异常处理与中间件操作实例分析
2018/07/16 Python
pytorch 使用单个GPU与多个GPU进行训练与测试的方法
2019/08/19 Python
浅谈spring boot 集成 log4j 解决与logback冲突的问题
2020/02/20 Python
python 读取串口数据的示例
2020/11/09 Python
css3中用animation的steps属性制作帧动画
2019/04/25 HTML / CSS
CSS3中background-clip和background-origin的区别示例介绍
2014/03/10 HTML / CSS
请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1
2015/07/16 面试题
迟到检讨书800字
2014/01/13 职场文书
愚人节活动策划方案
2014/03/11 职场文书
班级文化标语
2014/06/23 职场文书
政协调研汇报材料
2014/08/15 职场文书
甜品蛋糕店创业计划书
2014/09/21 职场文书
酒会邀请函
2015/01/31 职场文书
会议通知
2015/04/15 职场文书
美德少年主要事迹材料
2015/11/04 职场文书
2019年学校消防安全责任书(2篇)
2019/10/09 职场文书
《追风筝的人》:人心中的成见是座大山,但请不忘初心
2019/11/15 职场文书
Oracle创建只读账号的详细步骤
2021/06/07 Oracle
Python极值整数的边界探讨分析
2021/09/15 Python
Windows环境下实现批量执行Sql文件
2021/10/05 SQL Server