Laravel中的Storage::disk
Laravel中的Storage::disk
一、总结
一句话总结:
Storage的disk的路径和file的路径都是一回事,都是config/filesystems.php配置文件中disks
比如$bool = Storage::disk('uploads')->put('/'.$data['pic_path'], file_get_contents($realPath));
二、Laravel 文件上传,Storage::disk
转自或参考:Laravel 文件上传,Storage::disk
https://blog.csdn.net/vierhang/article/details/90376894
在config/filesystems.php文件中增加
uploadsdisk驱动;例:
'disks' => [ 'local' => [
'driver' => 'local',
'root' => public_path('app'),
],
// 新建一个本地端uploads空间(目录) 用于存储上传的文件
'uploads' => [ 'driver' => 'local', // 文件将上传到storage/app/uploads目录
// 'root' => storage_path('app/uploads'), // 文件将上传到public/img 如果需要浏览器直接访问 请设置成这个
'root' => public_path('img'),
],
在相应控制器中做文件上传逻辑
if ($request->hasFile('picture')){
//获取文件
$file = $request->file('picture');
$time = date('Ymd',time());
// 文件是否上传成功
if ($file->isValid()) {
// 获取文件相关信息
$originalName = $file->getClientOriginalName(); // 文件原名
$ext = $file->getClientOriginalExtension(); // 扩展名
$realPath = $file->getRealPath(); //临时文件的绝对路径
$type = $file->getClientMimeType(); // image/jpeg
// 上传文件
$filename = uniqid() . '.' . $ext;
$data['pic_path'] = 'blackvirus/'.$time.'/'.$filename;
// 使用我们新建的uploads本地存储空间(目录)
//这里的uploads是配置文件的名称
$bool = Storage::disk('uploads')->put('/'.$data['pic_path'], file_get_contents($realPath));
//判断是否创建成功
if (!$bool)
{
return $this->responseError('添加图片失败', $this->status_blackvirus_insert_img_error);
}
}
}
Laravel中的Storage::disk的更多相关文章
- Laravel中一些要记住 的写法
模型篇: 1.根据数据库部分URL返回完整的URL public function getImageUrlAttribute() { // 如果 image 字段本身就已经是完整的 url 就直接返回 ...
- Laravel中的日志与上传
PHP中的框架众多,我自己就接触了好几个.大学那会啥也不懂啥也不会,拿了一个ThinkPHP学了.也许有好多人吐槽TP,但是个人感觉不能说哪个框架好,哪个框架不好,再不好的框架你能把源码读上一遍,框架 ...
- Laravel 中使用 JWT 认证的 Restful API
Laravel 中使用 JWT 认证的 Restful API 5天前/ 678 / 3 / 更新于 3天前 在此文章中,我们将学习如何使用 JWT 身份验证在 Laravel 中构建 r ...
- Laravel 中的异常处理
这篇文章里,我们将研究 Laravel 框架中最重要也最少被讨论的功能 -- 异常处理. Laravel 自带了一个异常处理类,它能够让你以简单.优雅的方式 report 和 render 异常. 文 ...
- laravel中的验证及利用uploadify上传图片
$rules = [ 'password'=>'required|between:6,20|confirmed', ]; $message = [ 'password.required'=> ...
- laravel中session的过期时间
在项目开发的过程中,前后端分离 需要用session保存用户的登陆信息 这就涉及到session的有效期了 session又分为php中的session有效期和laravel中的session的有效期 ...
- laravel中的文件上传到本地+七牛云上传
首先在filesystems.php 配置好上传的文件的目录起名为upload 在Storage/目录下面 目录下面的app/upload 如果没有这个文件会自动创建 这里的名字upload名字是跟控 ...
- laravel中控制器的创建和使用(五)
laravel中我们可以使用 artisan 命令来帮助我们创建控制器文件. php artisan make:controller TestController TestController 控制器 ...
- laravel中图片的删除
laravel中图片的删除 一.总结 一句话总结: laravel里面删除的话还是建议用Storage的delete方法,不建议用原生php的unlink方法,不然没找到文件可能会报异常 二.lara ...
随机推荐
- 通过扩展redis-cli来实现在redis集群中移动槽位
下面的扩展代码基于redis 5.0.2进行扩展, 对于其他的redis版本, 我没有进行相关的测试.考虑到redis集群的修改频率,这段代码应该同时适用于其他的redis版本. 下面为修改的代码: ...
- ISM无需授权使用的无线频率
- Linux磁盘管理——日志文件系统与数据一致性
参考:Linux磁盘管理——Ext2文件系统 数据不一致 上图是Ext2结构图,其他FS结构类似. 一般来说,我们将 inode table 与 data block 称为数据区:至于其他例如 sup ...
- [LeetCode]1252. Cells with Odd Values in a Matrix
Given n and m which are the dimensions of a matrix initialized by zeros and given an array indices w ...
- PAT1125
总体思路 这道题就是一道贪心题. 对我来说,这道题的关键在于他在说什么(黑人问号???),一开始读了几遍都不知道在讲什么,怎么一根绳子对折后就和另一根套上了? 描述上面确实让人比较迷糊,配图也不是很明 ...
- VMware Linux系统克隆
系统克隆 网卡设备无法识别 解决克隆虚拟机后网卡设备无法识别启动问题的方法 一.故障问题 从vmware workstation中克隆(clone)了一个CentOS 6的虚拟机,启动之后发现网卡没有 ...
- python3 操作 hive 安装依赖包整理
安装依赖pip install saslpip install thriftpip install thrift-saslpip install PyHive windows安装sasl报错,解决方案 ...
- wampserver - windows服务器下php运行环境配置
之前一直在通过windows server IIS跑php程序,直到后来,发现了她 “wampserver", 一个法国的windows+apache+php+mysql部署包. 感觉挺好用 ...
- SQL SERVER使用 CROSS APPLY 与 OUTER APPLY 连接查询
概述 CROSS APPLY 与 OUTER APPLY 可以做到: 左表一条关联右表多条记录时,我需要控制右表的某一条或多条记录跟左表匹配的情况. 有两张表:Student(学生表)和 S ...
- 微信小程序引入Vant组件库
前期准备 Vant Weapp组件库:https://youzan.github.io/vant-weapp/#/intro 1.先在微信开发者工具中打开项目的终端: 然后初始化一个package.j ...