如何删除不在 Laravel 中存储/应用程序下的文件夹(及其内容)?

Cut*_*tis 2 php file laravel laravel-5 laravel-storage

我知道我们可以使用 Storage::delete() 或 File::delete 来删除 laravel 中的文件夹和/或文件,但这似乎不适用于直接在存储下的文件夹,我的意思是例如 storage/tmp 。它仅适用于存储/应用程序。如何处理?

if (file_exists( storage_path() . '/tmp/file1'.'.pdf' )) {
     File::delete(storage_path() . '/tmp/file1'.'.pdf') );
}
Run Code Online (Sandbox Code Playgroud)

谢谢

pis*_*tor 5

您可以config/filesystems.php在存储文件夹中以 root 身份定义一个新磁盘:

'disks' => [

    ...

    'storage' => [
        'driver' => 'local',
        'root' => storage_path(),
    ],

    ...

],
Run Code Online (Sandbox Code Playgroud)

然后你可以删除一个文件夹,比如tmp,像这样:

Storage::disk('storage')->deleteDirectory('tmp');
Run Code Online (Sandbox Code Playgroud)