laravel删除文件
laravel删除文件
一、总结
一句话总结:
1、注意disk:disk决定路径
2、删单个文件的时候就用删单个文件的方式,别用删多个文件的方式(也就是参数别数组)
- public function index()
- {
- // 取到磁盘实例
- $disk = Storage::disk('local');
- // 删除单条文件
- $disk->delete('test.txt');
- // 删除多条文件
- $disk->delete(['test22.txt', 'icon.jpg']);
- }
1、laravel中disks的根路径写法?
base_path就是根目录:'root' => base_path('')
- 'disks' => [
- 'local' => [
- 'driver' => 'local',
- 'root' => base_path(''),
- ],
- ],
二、Laravel框架 -- 自定义文件上传目录之删除文件
转自或参考:Laravel框架 -- 自定义文件上传目录之删除文件
https://blog.csdn.net/Hinsion/article/details/81671486
Laravel框架的上传文件目录是默认在 storage/app/public ,在一般情况下,我是会在根目录上重新创建一个目录(uploads)来存储我们上传的文件。
下面切入正题,我们想在上传成功的文件夹中删除指定的文件,那么,我们首先就要设置一个文件的内容:config/filesystems.php ,把里面的内容更改为:
'disks' => [
'local' => [
'driver' => 'local',
'root' => base_path(''),
],
'public' => [
'driver' => 'local',
'root' => base_path(),
'url' => env('APP_URL').'/uploads',
'visibility' => 'uploads',
],
's3' => [
'driver' => 's3',
'key' => env('AWS_KEY'),
'secret' => env('AWS_SECRET'),
'region' => env('AWS_REGION'),
'bucket' => env('AWS_BUCKET'),
],
],
注:base_path就是根目录的意思(不是很会的小伙伴要注意一下的)。
修改成功后保存,然后进行下一步操作。
下一步,我们进入控制器,首先,我们需要获取到我们想删除文件的路径,这里我就不展示了,大家都应该知道怎么获取的,下面这个示例,我是直接把路径写出来的,方便大伙了解。
$data = '/uploads/2018-08-14/file/1491628685130.zip';
$re = Storage::delete($data);
dd($re);
打印出来的值应为 true ,如果是显示 false 的话,那么请检查你的目录是否存在该文件,其次就是上面的配置文件修改的代码是否写错,再之就是控制器里获取的路径是否正确。
补充,如果想删除多个文件,那么在delete里面以数组的形式写就可以了。
$data = '/uploads/2018-08-14/file/1491628685130.zip';
$photo = '/uploads/2018-08-14/photo/1491628669760.jpg';
$re = Storage::delete([$data, $photo]);
dd($re);
laravel删除文件的更多相关文章
- laravel 删除一条migration后要执行composer命令
Laravel 删除一条migration 字数29 阅读30 评论0 喜欢0 如果迁移已经执行,先回滚php artisan migrate:rollback 然后删除迁移文件,运行composer ...
- Laravel 的文件存储 - Storage
记录一下 Laravel Storage 的常见用法 内容写入磁盘文件 > php artisan tinker >>> use Illuminate\Support\Faca ...
- Linux下删除文件的原理
Linux下文件删除的原理 Lniux下控制文件真正被删除的计数器 Linux是link的数量来控制文件删除的.只有当一个文件不存在任何link的时候,这个文件才会被删除.一般来讲,每个文件都有两个l ...
- Java 代码完成删除文件、文件夹操作
import java.io.File;/** * 删除文件和目录 * */public class DeleteFileUtil { /** * 删除文件,可以是文件或文件夹 ...
- 教你一招:解决Win10 win7 删除文件或文件夹时提示“找不到该项目”
问题很怪异,解决的办法却很简单. 首先,分析问题 使用不可显示ASCII字符或采用UNICODE字符方法创建的文件或文件夹: 名称中含有..等特殊符号文件或文件夹名称不符合Windows命名规范或建立 ...
- Win7中怎么不经确认直接删除文件至回收站
Win7中怎么不经确认直接删除文件至回收站.. 1.双击桌面回收站的图标,进入回收站后,在空白处点击右键,选择属性:2.在回收站的属性对话框,最下边,把"显示删除确认对话框”前边的√去掉,应 ...
- awk删除文件第一列
awk删除文件第一列 1.采用awk awk '{$1="";print $0}' file 2.采用sed sed -e 's/[^]* //' file sort -R fil ...
- dos 下删除文件、文件夹
删除文件 /p 删除每一个文件之前提示确认/f 强制删除只读文件 /s 从当前目录及所有子目录删除指定文件/q 安静模式.删除全局通配符时,不要求确认/a 根据属性选择要删除的文件 指定下列文件属性中 ...
- win10 系统怎么获取最高管理员权限删除文件
http://www.xitongcity.com/jiaocheng/win8_content_3473.html 很多win8.1系统用户在对磁盘文件进行清理时,经常会遇到“文件夹访问被拒绝,您需 ...
随机推荐
- Linux 内核/驱动开发总结
总体来看,需要一个阶段性总结了,因为现在SD卡的调试也进入了卡壳期.大概会出一系列的总结文章,主要涉及的主题在下面列出: 1.开发工具:gcc/gdb/vim/ctags 2.Makefile和KCo ...
- sqlserver存储过程里传字段、传字符串,并返回DataTable、字符串,存储过程调用存储过程。
经常需要查一些信息, 想写视图来返回数据以提高效率,但是用试视图不能传参,只好想到改存储过程.记录一下语法,方便以后做项目时候想不起来了用. 1:传字段返回datatable 2: 传字段回一串字符 ...
- WSDL知识点
WSDL 是基于 XML 的用于描述 Web Services 以及如何访问 Web Services 的语言. WSDL简介 1.什么是 WSDL? WSDL 指网络服务描述语言 WSDL 使用 X ...
- 2018-2019 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2018)- D. Delivery Delays -二分+最短路+枚举
2018-2019 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2018)- D. Delivery Delays -二分+最短路+枚举 ...
- Java集合之整体概述
Java集合与数组是相似的,都用于保存一组对象,并提供一些操作来管理对象.然而,不同于数组的是,当添加或删除元素时集合的大小是可以自动变化的.Java集合不可以存放基本类型数据(比如int,long或 ...
- kafka,activemq rabbitmq.rocketmq的优点和缺点
kafka,activemq rabbitmq.rocketmq的优点和缺点: 特性 ActiveMQ RabbitMQ RocketMQ Kafka 单机吞吐量 万级,吞吐量比RocketMQ和Ka ...
- service worker(二)之主页面与service worker通信
实现一个主页面发送消息,worker搜到信息向所有的页面派发消息(当前页面除外) msg.html <!DOCTYPE html> <html lang="en" ...
- 二次封装Response类 | 视图类传递参数给序列化类context
二次封装Response类 源码: class Response(SimpleTemplateResponse): """ An HttpResponse that al ...
- matlab的正则表达式
第一部分——单个字符的匹配1 句点符号 '.' ——匹配任意一个(只有一个)字符(包括空格).例如:t.n,它匹配tan. ten.tin和ton,还匹配t#n.tpn甚至t nMatlab例子程序: ...
- hibernate之关联关系一对多
什么是关联(association) 关联指的是类之间的引用关系.如果类A与类B关联,那么被引用的类B将被定义为类A的属性.例如: public class B{ private St ...