Laravel框架文件上传功能实现方法示例
作者:moTzxx 发布时间:2023-11-15 19:16:31
标签:Laravel,文件上传
本文实例讲述了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框架的PHP程序设计有所帮助。
来源:https://blog.csdn.net/u011415782/article/details/78830129


猜你喜欢
- 概念Node.js 是构建在Chrome javascript runtime之上的平台,能够很容易的构建快速的,可伸缩性的网络应用程序。N
- python列表元素去重后如何保持原来的顺序不变原列表:list1 = [1,2,1,4,9,3,5,2,6,7,3,1,6,8,4,0]去
- 俺觉得自 己试着写写sql,调试调试还是有帮助的,读人家sql例子好像读懂了,自己写就未 必思路正确,调试得通,写得简洁。 这篇文字在网上被
- 本文实例讲述了python通过BF算法实现关键词匹配的方法。分享给大家供大家参考。具体实现方法如下:#!/usr/bin/python# -
- Oracle分页存储过程的思路于sqlserver的思路是一样的,但是我这里做了点改动,在因为Oracle的语法和规则的不同所以,Oracl
- 需要把ip地址转换为10进制数,然后也可以把10进制数转化为ip地址,计算机ping这个十进制数可以ping通对应的ip地址,说明已经实现功
- 做开发中难免时间类型之间的转换, 最近就发现前端js和后端django经常要用到这个转换, 其中jsDate.now()精确到毫秒,而Pyt
- 1.在pycharm中新建project demo1 添加app01 点击create按钮完成新建2.在demo项目目录下新建目录stati
- 一年中秋至 又见圆月时导语假设农历八月十五,程序员错过了今年的中秋圆月。▼程序员的苦只有他们寄几知道bug,bug,bug,bug,bug,
- ARIMA模型预测餐厅销量import numpy as npimport pandas as pdimport matplotlib.py
- Pandas是一个强大的数据处理库,它提供了高性能、易于使用的数据结构和数据分析工具。本文将介绍Pandas常用的数据结构和常用的数据分析技
- 视频加密流程图:后端获取保利威的视频播放授权token,提供接口api给前端参考文档:http://dev.polyv.net/2019/v
- 2008年的圣诞节LOGO依旧延续着2007年的圣诞老人、鹿车、红帽子、圣诞树、蜡烛等元素装点。当然,也少不了雪花,但在LOGO设计上,较0
- 接口压力测试500次,查看响应时间import jsonimport requestsimport logginglogging.basic
- logging模块介绍Python的logging模块提供了通用的日志系统,熟练使用logging模块可以方便开发者开发第三方模块或者是自己
- 本文实例为大家分享了JavaScript实现网页版计算器的具体代码,供大家参考,具体内容如下由于无聊看电脑上的系统软件翻到了计算器这个功能,
- 很多小伙伴在学习Django的时候,总是搞不定版本的问题,下面来一起看一张表,轻松解决Python版本和Django版本的兼容问题。Djan
- 操作步骤:一、安装MySQL数据库1、下载MySQL-5.6.17-winx64.zip文件。2、解压到指定目录,本例为D:\mysql-5
- 效果图:该效果主要实现一个table展示数据,并在下方生成一个折线图。实现方式:1、首先需要对表格进行一个数据加载,这里用到了layui的t
- 1. 概述动态规划算法应用非常之广泛。对于算法学习者而言,不跨过动态规划这道门,不算真正了解算法。初接触动态规划者,理解其思想精髓会存在一定