Laravel - 上手实现 - 文件上传、保存到 public 目录下
1、为了访问方便,将上传的文件保存在 public 目录下,需要进行修改配置。
找到 config/filesystems.php 文件然后修改 root、具体如下:
'local' => [
'driver' => 'local',
// 'root' => storage_path('app'),
'root' => public_path()
],
'public' => [
'driver' => 'local',
// 'root' => storage_path('app/public'),
'root' => public_path(),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
2、配置路由,指定上传页面;
// 上传页面
Route::get('/upl', function(){
return view('Users.upload');
});
3、创建并编辑上传页面;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>上传</title>
</head>
<body>
<form action="uplDo" method="post" enctype="multipart/form-data">
<!-- 文件上传使用 post 提交方式、需要加 csrf 保护-->
@csrf
文件上传:
<input type="file" name="file" id="">
<input type="submit" value="提交">
</form>
</body>
</html>
4、配置路由绑定控制器和方法,用于执行上传操作;
// 执行上传
Route::post('/uplDo', 'UsersController@uplDo');
5、在控制器接收数据,获取上传的文件信息;
/**
* 文件上传
*/
public function uplDo( Request $request )
{
// 获取上传的文件
$file = $request->file('file');
// 获得上传文件的原始名称 getClientOriginalName
// 040106.jpg
echo $file->getClientOriginalName();
// 获取上传文件的文件扩展名 extension
// jpg
echo $extension = $file->extension();
// 获取上传文件的大小
// 29514
echo $file->getSize();
// 检测上传的文件是否合法,返回值为true或false
// 1
echo $file->isValid();
// 获取上传后保存的路径
// php/NKtwzdR5l1zkeqKzc8YK36HpaB6TSdkRvBoyjlhq.jpeg
echo $file->store('php');
// 最终的保存路径是在 ../Laravel7/public/php/NKtwzdR5l1zkeqKzc8YK36HpaB6TSdkRvBoyjlhq.jpeg
}
Laravel - 上手实现 - 文件上传、保存到 public 目录下的更多相关文章
- springboot升级导致文件上传自动配置/tmp目录问题解决
1,..\web\src\main\resources\spring\web-men-applicationContext.xml 保留原有的bean配置 <bean id="mult ...
- php laravel 帧 该文件上传
好,我承认我的忠告. 今天laravel框架编写一个文件上传部分.总能找到不正确的路径.但是,终于攻克. 以下我分享一下自己的学习体会吧. client <form method="P ...
- Laravel 5 教程 - 文件上传
一.简介 Laravel 有很棒的文件系统抽象层,是基于 Frank de Jonge 的 Flysystem 扩展包. Laravel 集成的 Flysystem 提供了简单的接口,可以操作本地端空 ...
- Laravel请求/Cookies/文件上传
一.HTTP请求 1.基本示例:通过依赖注入获取当前 HTTP 请求实例,应该在控制器的构造函数或方法中对Illuminate\Http\Request 类进行类型提示,当前请求实例会被服务容器自动注 ...
- laravel中的文件上传到本地+七牛云上传
首先在filesystems.php 配置好上传的文件的目录起名为upload 在Storage/目录下面 目录下面的app/upload 如果没有这个文件会自动创建 这里的名字upload名字是跟控 ...
- 代码审计之XiaoCms(后台任意文件上传至getshell,任意目录删除,会话固定漏洞)
0x00 前言 这段时间就一直在搞代码审计了.针对自己的审计方法做一下总结,记录一下步骤. 审计没他,基础要牢,思路要清晰,姿势要多且正. 下面是自己审计的步骤,正在逐步调整,寻求效率最高. 0x01 ...
- [代码审计]XiaoCms(后台任意文件上传至getshell,任意目录删除,会话固定漏洞)
0x00 前言 这段时间就一直在搞代码审计了.针对自己的审计方法做一下总结,记录一下步骤. 审计没他,基础要牢,思路要清晰,姿势要多且正. 下面是自己审计的步骤,正在逐步调整,寻求效率最高. 0x01 ...
- Upload-labs 文件上传靶场通关攻略(下)
Upload-Labs靶场攻略(下) Pass-11 GET型传参,上传目录可设置,考虑00截断,在/upload/后添加1.php%00,即可上传 Pass-12 POST型传参,上传目录可设置,P ...
- laravel oauth2.0 文件上传报错
报错信息: "message": "Invalid stream or file provided for UploadedFile", " ...
随机推荐
- [CS充实之路] CS50 WEEK 1
前言 大学电子专业,幸好自学了JAVA,遂有幸工作了三年,但这期间一直在焦虑,一个是基础不扎实的担心,另一个是未来方向的不确定.去年开始终于下定决心,一方面走一遍CS之路,巩固知识体系,另一方面部署自 ...
- Go语言库系列之flag
背景 终端(命令行)操作是程序员的必备技能,但是你知道怎么通过golang制作出如下命令吗? $ flag girl -h Usage of girl: -height int 身高 (default ...
- Git使用的一些问题:.gitignore规则不生效、git同步代码至github和gitee
Git忽略规则及.gitignore规则不生效的解决办法 .gitignore 的基本使用 在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件 ...
- 开源APP
仿微信 https://github.com/zhengwenming/WeChat 电台韵律 https://github.com/DaMingShen 运动App https://github.c ...
- PHP序列化及反序列化分析学习小结
PHP反序列化 最近又遇到php反序列化,就顺便来做个总结. 0x01 PHP序列化和反序列化 php序列化:php对象 序列化的最主要的用处就是在传递和保存对象的时候,保证对象的完整性和可传递性.序 ...
- java+lodop+vue+热敏打印机,打印图片
1.根据需求生成图片模板,详情见 https://www.cnblogs.com/xiaokangk/p/11151774.html 2.下载lodop并进行安装(安装步骤详情百度) 3.安装热敏打印 ...
- 包格式及IP地址,网络层协议
包格式及IP地址,网络层协议 案例1:配置静态路由 案例2:配置浮动路由 案例3:配置多路由的静态路由 案例4:配置默认路由 1 案例1:配置静态路由 1.1 问题 配置路由接口IP地址并通过静态路由 ...
- ceph概述
ceph概述 基础知识 什么是分布式文件系统 • ...
- 【php】COOKIE和SESSION
一. COOKIE(小甜点,小饼干) a) 生活中的实例: i. 大保健的会员卡(记录你的姓名.性别.ID号码.手机号……) ii. 超市的会员卡(记录你的姓名,性别,会员积分) b) PHP当中的实 ...
- Pyspider的基本使用
Pyspider的基本使用 pyspider的任务流程: 每个pyspider的项目对应一个Python的脚本,该脚本中定义了一个Handler类,它有一个on_start方法.爬取首先调用on_st ...