首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Laravel学习记录--request做文件上传

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

作者头像
切图仔
发布于 2022-09-08 11:21:24
发布于 2022-09-08 11:21:24
1.5K00
代码可运行
举报
文章被收录于专栏:生如夏花绚烂生如夏花绚烂
运行总次数:0
代码可运行

Request 对象简单使用

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

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

什么时候使用?

1.当成post使用

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

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

dd()方法 = dump()+exit

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

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

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

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 FILESYSTEM_DRIVER='磁盘名'

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

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

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

cmd 输入 php artisan storage:link;

4.上传方法

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

使用Storage类做文件上传

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//$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 删除。

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

评论
登录后参与评论
3 条评论
热度
最新
没用弄明白“四、编写集群分发脚本rsync”这一步有什么作用啊,看了后面第11章节,这步很重要,但是不知道怎么搞datanode和namenode同步啊,能给细说一下吗,谢谢。
没用弄明白“四、编写集群分发脚本rsync”这一步有什么作用啊,看了后面第11章节,这步很重要,但是不知道怎么搞datanode和namenode同步啊,能给细说一下吗,谢谢。
22点赞举报
就是同步里面的数据以及子节点。防止单应用挂掉后数据丢失
就是同步里面的数据以及子节点。防止单应用挂掉后数据丢失
回复回复点赞举报
第三步中同步了JAVA文件中的内容,第四步是否为同步hadoop文件中的内容?在后面的第11章之前我先将hadoop文件内容同步到datanode节点?麻烦兄弟给解答一下,谢谢!
第三步中同步了JAVA文件中的内容,第四步是否为同步hadoop文件中的内容?在后面的第11章之前我先将hadoop文件内容同步到datanode节点?麻烦兄弟给解答一下,谢谢!
回复回复点赞举报
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档