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删除文件的更多相关文章

  1. laravel 删除一条migration后要执行composer命令

    Laravel 删除一条migration 字数29 阅读30 评论0 喜欢0 如果迁移已经执行,先回滚php artisan migrate:rollback 然后删除迁移文件,运行composer ...

  2. Laravel 的文件存储 - Storage

    记录一下 Laravel Storage 的常见用法 内容写入磁盘文件 > php artisan tinker >>> use Illuminate\Support\Faca ...

  3. Linux下删除文件的原理

    Linux下文件删除的原理 Lniux下控制文件真正被删除的计数器 Linux是link的数量来控制文件删除的.只有当一个文件不存在任何link的时候,这个文件才会被删除.一般来讲,每个文件都有两个l ...

  4. Java 代码完成删除文件、文件夹操作

    import java.io.File;/** * 删除文件和目录 * */public class DeleteFileUtil {    /**     * 删除文件,可以是文件或文件夹     ...

  5. 教你一招:解决Win10 win7 删除文件或文件夹时提示“找不到该项目”

    问题很怪异,解决的办法却很简单. 首先,分析问题 使用不可显示ASCII字符或采用UNICODE字符方法创建的文件或文件夹: 名称中含有..等特殊符号文件或文件夹名称不符合Windows命名规范或建立 ...

  6. Win7中怎么不经确认直接删除文件至回收站

    Win7中怎么不经确认直接删除文件至回收站.. 1.双击桌面回收站的图标,进入回收站后,在空白处点击右键,选择属性:2.在回收站的属性对话框,最下边,把"显示删除确认对话框”前边的√去掉,应 ...

  7. awk删除文件第一列

    awk删除文件第一列 1.采用awk awk '{$1="";print $0}' file 2.采用sed sed -e 's/[^]* //' file sort -R fil ...

  8. dos 下删除文件、文件夹

    删除文件 /p 删除每一个文件之前提示确认/f 强制删除只读文件 /s 从当前目录及所有子目录删除指定文件/q 安静模式.删除全局通配符时,不要求确认/a 根据属性选择要删除的文件 指定下列文件属性中 ...

  9. win10 系统怎么获取最高管理员权限删除文件

    http://www.xitongcity.com/jiaocheng/win8_content_3473.html 很多win8.1系统用户在对磁盘文件进行清理时,经常会遇到“文件夹访问被拒绝,您需 ...

随机推荐

  1. FreeRTOS优先级翻转

    举例 //高优先级任务的任务函数 void high_task(void *pvParameters) { while(1) { vTaskDelay(500); //延时500ms,也就是500个时 ...

  2. QTableWidget数据表格

    void setRowHeight(int row, int height); //行高 void setVerticalHeaderLabels(const QStringList &lab ...

  3. 蓝桥杯-入门训练 :A+B问题

    问题描述 输入A.B,输出A+B. 说明:在“问题描述”这部分,会给出试题的意思,以及所要求的目标. 输入格式 输入的第一行包括两个整数,由空格分隔,分别表示A.B. 输出格式 输出一行,包括一个整数 ...

  4. js基础知识3

    系统对话框方法 警告框 window.alert('mcw'); 效果显示 确认框 var a = window.confirm('你确定要离开网站?'); console.log(a); 如果点击确 ...

  5. 2013.5.1 - KDD第十三天

    今天把昨天的思路整理了一下,给中秋发过去了,还没回我. 然后就全天看代码了,把NER跟LTP的接口又过了一下.晚上师兄跟我约好这周六一起把LTP写完,到时候我们俩都早点过来. 这之前需要做的有: 1. ...

  6. 云计算/云存储---Ceph和Openstack的cinder模块对接方法

    1.创建存储池 在ceph节点中执行如下语句. #ceph osd pool create volumes 2.配置 OPENSTACK 的 CEPH 客户端 在ceph节点两次执行如下语句,两次{y ...

  7. flask的基础1

    1.python 现阶段三大主流web框架Django Tornado Flask的对比 1.Django 主要特点是大而全,集成了很多组件,例如: Models Admin Form 等等, 不管你 ...

  8. mysql数据库中的多表查询(内连接,外连接,子查询)

    用两个表(a_table.b_table),关联字段a_table.a_id和b_table.b_id来演示一下MySQL的内连接.外连接( 左(外)连接.右(外)连接.全(外)连接). MySQL版 ...

  9. 《你说对就队》第九次团队作业:【Beta】Scrum meeting 3

    <你说对就队>第九次团队作业:[Beta]Scrum meeting 3 项目 内容 这个作业属于哪个课程 [教师博客主页链接] 这个作业的要求在哪里 [作业链接地址] 团队名称 < ...

  10. python_并发编程——管道

    1.管道 from multiprocessing import Pipe conn1,conn2 = Pipe() #返回两个值 conn1.send('wdc') #发送 print(conn2. ...