Laravel框架文件上传功能实现方法示例
时间:2022-07-27
本文章向大家介绍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 IlluminateHttpRequest;
use IlluminateSupportFacadesStorage;
//上传文件 功能实现方法
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 的对应日期目录下
- Go 语言的基本数据类型
- c语言客户端与go语言服务端通信(网络字节序)
- (译)Go 语言的内存、指针详解
- Redis之并发写入
- Python超过R,成为数据科学和机器学习的最常用语言
- JavaScript 之 this 详解
- Golang 中 for-loop 和 goroutine 的问题
- 【学术】一文教你如何正确利用kNN进行机器学习
- 【学术】机器学习优化函数的直观介绍
- 基于达尔文进化论的遗传算法,还能帮你破解同事的密码?| 附代码
- Vue + Node + Mongodb 开发一个完整博客流程
- Golang中用interface{}接收任何参数与强转
- Machine Box创始人教你快速建立一个ML图像分类器
- 【图解】Web前端实现类似Excel的电子表格
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- Vue 网站首页加载优化
- Swift日常开发随笔
- vue入门003~vue项目引入element并创建一个登录页面
- vue入门002~vue项目的两种创建方式
- IntelliJ IDEA,WebStorm,PhpStorm破解到2089年
- 小程序订阅消息推送(含源码)java实现小程序推送,springboot实现微信消息推送
- 借助云开发10行代码实现短信验证码的发送
- 借助云开发实现小程序订阅消息(模板消息)推送功能
- 1小时实战入门小程序开发,历史上的今天案例讲解
- 小程序实现全屏幕高斯模糊背景图
- 小程序顶部导航栏,可滑动,可动态选中放大
- 小程序不同页面的异步回调,callback和promise的使用讲解
- java入门019~springboot批量导入excel数据到mysql
- Java点餐系统和点餐小程序新加微信消息推送功能
- Java点餐系统和点餐小程序新加排号等位功能