【问题标题】:Laravel Storage::deleteDirectory doesnt delete folderLaravel Storage::deleteDirectory 不会删除文件夹
【发布时间】:2017-03-27 10:40:49
【问题描述】:

我正在尝试在 Laravel 中删除一个文件夹及其所有文件。

我正在创建这样的文件夹:

$filename = $file->getClientOriginalName();
$path = "images/$id/thumbnail/$filename";
Storage::put($path, File::get($file->getRealPath()));

然后在队列中,我尝试使用以下方法删除文件夹及其所有文件:

Storage::deleteDirectory("images/$this->id/thumbnail");

但这并没有删除文件夹,我也没有收到任何错误

文件夹位于:Storage/app/images

【问题讨论】:

  • 这很可能与以下内容重复:stackoverflow.com/questions/32552293/…
  • @BenD 我从不使用 Storage::makeDirectory();就像在那篇文章中一样
  • 我怀疑根本问题是一样的。您是否检查了该文件夹的权限以确保网络服务器有权删除该文件夹? (权限级别和组/所有者是什么?)

标签: php laravel


【解决方案1】:

请参考我的回答。

SPLFileInfo: get filename without extension

您需要使用 Storage 门面才能使用 deleteDirectory() 方法。

<?php

use Illuminate\Support\Facades\Storage;

Storage::deleteDirectory($directory);

请记住,所有文件路径都应相对于“根”指定 为磁盘配置的位置。

请参阅文档。 https://laravel.com/docs/5.3/filesystem#directories

【讨论】:

    猜你喜欢
    • 2020-01-21
    • 1970-01-01
    • 1970-01-01
    • 2020-06-05
    • 1970-01-01
    • 2016-06-09
    • 2014-12-04
    • 2021-12-24
    • 2020-12-07
    相关资源
    最近更新 更多