前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Laravel学习记录--request做文件上传

Laravel学习记录--request做文件上传

作者头像
切图仔
发布2022-09-08 19:21:24
1.2K0
发布2022-09-08 19:21:24
举报
文章被收录于专栏:生如夏花绚烂

Request 对象简单使用

在创建控制器时,lavarel会自动创建request对象 使用不需要实例化 在方法中的使用

代码语言:javascript
复制
function show(Request $rep){
     
}
// 将Request 对象的返回值,覆给rep,如方法需要传参,直接在其后添加即可

什么时候使用?

1.当成post使用

如程序中 $model->title = $_POST[‘title’]

可改写为 $model->title = $rep->title

dd()方法 = dump()+exit

Request的input()方法:字段自动注入,其值不是从form表单提交

代码语言:javascript
复制
$model->stu = $rep->input('0');//表单提交自动给stu赋予0

2.文件上传 $rep->file(‘input name名称’)->move(‘路径’,[可选指定图片名,不指定以原图片名存储]) 缺点:虽能上传,但访问较复杂 解决办法:使用laravel的文件存储系统

使用laravel文件存储系统做文件上传 2.1配置 文件系统配置文件config/filesystem.php 在disks设置相关驱动

在这里插入图片描述
在这里插入图片描述

同时 .env配置文件添加相应磁盘名

代码语言:javascript
复制
 FILESYSTEM_DRIVER='磁盘名'

上传的文件存储在storage/app/public下

为了正常访问文件,需建立public/storage 到storage/app/public的链接

创建public/storage到storage/app/public的连接

cmd 输入 php artisan storage:link;

在这里插入图片描述
在这里插入图片描述

4.上传方法

代码语言:javascript
复制
//$rep = Request对象
$path=$rep->file('filename')->store('磁盘名')
//或
$path=$rep->file('filename')->storAs('磁盘名','设置文件名')
    //4.2 获取文件路径 
    return asset('storage/'.$path)

使用Storage类做文件上传

代码语言:javascript
复制
//$rep = Request对象
use Storage;
$path = Storage::putFile('磁盘名',$reg->file('文件名'))

helper辅助函数 array_collapse();将多个数组折合成一个数组 str_limit(str,字节限制);限制字符串长度,多余用省略号代替 str_random(num);随机生成指定长度的字符串包含字母数字

e(html);代码实体转义 app_path();//返回app目录 config_path();//返回config目录 public_path();返回public根目录 base_path();//返回项目目录

url(‘path’);//生成目录 域名加path; 可用于模板之间的跳转 action(控制器@方法);//返回控制器的url

bcrypt(str) 基于框架APP_KEY加密

request();得到当前request对象

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-05-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Request 对象简单使用
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档