从Laravel本地存储的特定目录中删除文件

qvsjd97n  于 2023-02-10  发布在  其他
关注(0)|答案(3)|浏览(218)

我将文件存储在本地存储器中。因此,在/storage/app/public目录中。
我将文件存储在/storage/app/public/userId/images中;
我使用了php artisan storage:link,因此我可以访问视图中的文件,在/public/storage/userId/images中有一个指向此文件夹的快捷方式在该路径中,我有2个图像-test.jpgtest2.jpg
我无法在Laravel文档中找到响应,如何从/public/storage/userId/images中删除文件test.jpg
我试着这样说:

$path = 'public/' . $id . '/diploma';
$files =  Storage::files($path);
return $files;

它返回给我:

[
"public/303030/images/test.jpg"
"public/303030/images/test2.jpg"
]

现在,如何在该数组上调用Storage::delete('test.jpg')

xghobddn

xghobddn1#

有多种方法可以删除图像

//In laravel 
File::delete($image);
//for specific directory
File::delete('images/' . 'image1.jpg');

和其他方式(简单PHP)

//Simple PHP
unlink(public_path('storage/image/delete'));

并且如果您要删除超过1个图像

Storage::delete(['file1.jpg', 'file2.jpg']);
//or
File::delete($image1, $image2, $image3);

有关Delete File in Laravel的详细信息

rnmwe5a2

rnmwe5a22#

使用Storage::delete()。delete方法接受要从磁盘中删除的单个文件名或文件数组。

Storage::delete($file_to_delete);

可能你想做些什么比如-

$files =  Storage::files($path);
Storage::delete($files);
k5ifujac

k5ifujac3#

use File;

  public function destroy($id,$src)
    {

        File::delete('file/' . $src);
        fileModel::find($id)->delete();
        return back()->withErrors("");
    }

如果你存储你的图像public/file文件夹你可以删除这样.它将工作.在**$src**只是通过文件名.例如:$源代码=示例. png;

相关问题