Laravel删除工作无效

问题描述 投票:-1回答:5

我尝试了一堆方法来删除图像,但laravel因为某些原因忽略了删除部分。我试图看看它是否与dd($filename)建立链接,并且链接正确。我也尝试了php unlink,但我有问题通过它的path

Storage::delete('storage/images/'.$filename);

这是我尝试和laravel行为像它de

php laravel laravel-5 laravel-5.4
5个回答
1
投票

这可能是路径问题或文件权限问题:

 $exists = Storage::exists('storage/images/'.$filename);

 if($exists){
    Storage::delete('storage/images/'.$filename);
    //file should be deleted here.... if not check permissions in storage path
    //webserver sys user should have +r+w on storage path 
 }else{
    echo "file not found in ".storage_path('storage/images/').$filename;
 }

0
投票

您应该提供更多信息。检查你是否正在做

use Illuminate\Support\Facades\Storage;

之前

Storage::delete('storage/images/'.$filename);

也许你有一些错误或其他调试信息?


0
投票

添加此代码以使用存储:

use Illuminate\Support\Facades\Storage;

然后通过以下代码找到该文件:

$file = Storage::exists('storage/images/'.$filename);

然后删除文件,如果存在:

if ($file) {Storage::delete('storage/images/'.$filename)}
else {
 return "File Not exist";
}

N:B确保您要删除的文件具有适当的权限


0
投票

首先找到特定id的数据例如

$post = \App\Post::find($id);
unlink(public_path().'/uploads/post/'.$post->image);
$post->delete();  

0
投票

我最终使用原始的PHP方式来做到这一点。

unlink('storage/images/'.$filename);

unlink工作得很好,并没有完成它所需的设置。

© www.soinside.com 2019 - 2024. All rights reserved.