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面向对象全攻略 (一) 面向对象基础知识
Sep 30 PHP
PHP连接MongoDB示例代码
Sep 06 PHP
关于尾递归的使用详解
May 02 PHP
深入php常用函数的使用汇总
Jun 08 PHP
探讨:parse url解析URL,返回其组成部分
Jun 14 PHP
PHP依赖倒置(Dependency Injection)代码实例
Oct 11 PHP
使用PHP Socket 编程模拟Http post和get请求
Nov 25 PHP
分享10段PHP常用代码
Nov 11 PHP
编写PHP脚本清除WordPress头部冗余代码的方法讲解
Mar 01 PHP
PHP的Json中文处理解决方案
Sep 29 PHP
laravel 数据验证规则详解
Oct 23 PHP
YII2框架中ActiveDataProvider与GridView的配合使用操作示例
Mar 18 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遍历目录viewDir函数
2009/12/15 PHP
适用于php-5.2 的 php.ini 中文版[金步国翻译]
2011/04/17 PHP
php中配置文件操作 如config.php文件的读取修改等操作
2012/07/07 PHP
php递归方法实现无限分类实例代码
2014/02/28 PHP
PHP中使用TCPDF生成PDF文档实例
2014/07/01 PHP
laravel中的错误与日志用法详解
2016/07/26 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
2017/09/15 PHP
PHP程序守护进程化实现方法详解
2020/07/16 PHP
javascript 实用的文字链提示框效果
2010/06/30 Javascript
JQuery将文本转化成JSON对象需要注意的问题
2011/05/09 Javascript
事件绑定之小测试  onclick &amp;&amp; addEventListener
2011/07/31 Javascript
url参数中有+、空格、=、%、&amp;、#等特殊符号的问题解决
2013/05/15 Javascript
解决jquery1.9不支持browser对象的问题
2013/11/13 Javascript
JavaScript字符串检索字符的方法
2017/06/23 Javascript
移动端Ionic App 资讯上下循环滚动的实现代码(跑马灯效果)
2017/08/29 Javascript
javascript 开发之网页兼容各种浏览器
2017/09/28 Javascript
在Vue中使用echarts的方法
2018/02/05 Javascript
微信小程序实现留言功能
2018/10/31 Javascript
angular 表单验证器验证的同时限制输入的实现
2019/04/11 Javascript
了解javascript中变量及函数的提升
2019/05/27 Javascript
[06:24]DOTA2亚洲邀请赛小组赛第三日 TOP10精彩集锦
2015/02/01 DOTA
[06:45]DOTA2-DPC中国联赛 正赛 Magma vs LBZS 选手采访
2021/03/11 DOTA
记录Django开发心得
2014/07/16 Python
详解Python的Django框架中的模版相关知识
2015/07/15 Python
python字符串连接方法分析
2016/04/12 Python
Python实现查找匹配项作处理后再替换回去的方法
2017/06/10 Python
基于windows下pip安装python模块时报错总结
2018/06/12 Python
Python 利用内置set函数对字符串和列表进行去重的方法
2018/06/29 Python
微软香港官网及网上商店:Microsoft HK
2016/09/01 全球购物
database面试题
2013/03/28 面试题
航空大学应届生求职信
2013/11/10 职场文书
个人担保书范文
2014/05/20 职场文书
家长学校培训材料
2014/08/20 职场文书
解放思想演讲稿
2014/09/11 职场文书
助学金申请书该怎么写?
2019/07/16 职场文书
Django项目配置Memcached和Redis, 缓存选择哪个更有优势
2021/04/06 Python