Laravel 5.4:如何删除存储在存储/应用程序中的文件

2022-08-30 14:43:47

我想删除存储在存储/应用程序/我的文件夹/文件中的文件.jpg。我已经尝试了以下代码,但这些都不起作用:

use File    
$file_path = url().'/storage/app/jobseekers_cvs/'.$filename;
unlink($file_path);

use File
$file_path = public_path().'/storage/app/myfolder/'.$filename;
unlink($file_path);

use File
$file_path = app_path().'/storage/app/myfolder/'.$filename;
unlink($file_path);

而且,

File::Delete('/storage/app/myfolder/'.$filename);

请帮忙。


答案 1

你可以像这样使用Laravels外观:Storage

Storage::delete($file);

或者你可以用这个:

unlink(storage_path('app/folder/'.$file));

如果要删除目录,可以使用以下命令:

rmdir(storage_path('app/folder/'.$folder);

值得一提的一个重要部分是,您应该首先检查文件或目录是否存在。

因此,如果要删除文件,则可能应执行以下操作:

if(is_file($file))
{
    // 1. possibility
    Storage::delete($file);
    // 2. possibility
    unlink(storage_path('app/folder/'.$file));
}
else
{
    echo "File does not exist";
}

如果你想检查它是一个目录,请执行以下操作:

if(is_dir($file))
{
    // 1. possibility
    Storage::delete($folder);
    // 2. possibility
    unlink(storage_path('app/folder/'.$folder));
    // 3. possibility
    rmdir(storage_path('app/folder/'.$folder));
}
else
{
    echo "Directory does not exist";
}

答案 2

使用存储

//demo 
use Illuminate\Support\Facades\Storage;

Storage::delete($filename);

另一种方式,

unlink(storage_path('app/folder/'.$filename));

推荐