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 无限级缓存的类的扩展
Mar 16 PHP
防止用户利用PHP代码DOS造成用光网络带宽
Mar 01 PHP
高性能PHP框架Symfony2经典入门教程
Jul 08 PHP
PHP中使用asort进行中文排序失效的问题处理
Aug 18 PHP
PHP产生不重复随机数的5个方法总结
Nov 12 PHP
PHP中上传多个文件的表单设计例子
Nov 19 PHP
php使用google地图应用实例
Dec 31 PHP
PHP随机生成唯一HASH值自定义函数
Apr 20 PHP
详解PHP中instanceof关键字及instanceof关键字有什么作用
Nov 05 PHP
PHP使用星号隐藏用户名,手机和邮箱的实现方法
Sep 22 PHP
PHP defined()函数的使用图文详解
Jul 20 PHP
Thinkphp 框架基础之入口文件功能、定义与用法分析
Apr 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.ini实现PHP文件上传功能
2014/11/27 PHP
thinkPHP3.2.2框架行为扩展及demo示例
2018/06/19 PHP
解析jQuery与其它js(Prototype)库兼容共存
2013/07/04 Javascript
完美实现仿QQ空间评论回复特效
2015/05/06 Javascript
JavaScript判断图片是否已经加载完毕的方法汇总
2016/02/05 Javascript
jQuery实现HTML表格单元格的合并功能
2016/04/06 Javascript
Javascript之Math对象详解
2016/06/07 Javascript
Vue 仿QQ左滑删除组件功能
2018/03/12 Javascript
vue axios 给生产环境和发布环境配置不同的接口地址(推荐)
2018/05/08 Javascript
Vue中使用方法、计算属性或观察者的方法实例详解
2018/10/31 Javascript
JavaScript刷新页面的几种方法总结
2019/03/28 Javascript
webpack 如何同时输出压缩和未压缩的文件的实现步骤
2020/06/05 Javascript
微信小程序实现转盘抽奖
2020/09/21 Javascript
[02:50]2014DOTA2 TI预选赛预选赛 大神专访第一弹!
2014/05/21 DOTA
python的urllib模块显示下载进度示例
2014/01/17 Python
介绍Python的Django框架中的QuerySets
2015/04/20 Python
Python使用Supervisor来管理进程的方法
2015/05/28 Python
利用Python+Java调用Shell脚本时的死锁陷阱详解
2018/01/24 Python
pycharm 在windows上编辑代码用linux执行配置的方法
2018/10/27 Python
python TF-IDF算法实现文本关键词提取
2019/05/29 Python
python3.7环境下安装Anaconda的教程图解
2019/09/10 Python
python模块导入的方法
2019/10/24 Python
解决torch.autograd.backward中的参数问题
2020/01/07 Python
Python实现检测文件的MD5值来查找重复文件案例
2020/03/12 Python
简述 Python 的类和对象
2020/08/21 Python
基于Python爬取京东双十一商品价格曲线
2020/10/23 Python
香港个人化生活购物网站:Ballyhoo Limited
2016/09/10 全球购物
Bitiba意大利:在线宠物商店
2020/10/31 全球购物
PHP如何设置和取得Cookie值
2015/06/30 面试题
焊接专业毕业生求职信
2013/10/01 职场文书
成品库仓管员岗位职责
2014/04/06 职场文书
竞选学生会主席演讲稿
2014/04/24 职场文书
工程学毕业生自荐信
2014/06/14 职场文书
供电工程专业求职信
2014/08/09 职场文书
环卫工人节活动总结
2014/08/29 职场文书
SQL中的连接查询详解
2022/06/21 SQL Server