Laravel 删除不起作用

Laravel delete is just not working

我尝试了很多删除图片的方法,但laravel不知为何忽略了删除部分。我试着看看它是否得到 link 和 dd($filename) 并且它得到 link 正确。我也尝试了 php unlink,但我在通过 path 时遇到了问题

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

这就是我的尝试 laravel 就像它一样 de

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

 $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;
 }

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

use Illuminate\Support\Facades\Storage;

之前

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

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

添加此代码以使用存储:

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 确保您要删除的文件具有适当的权限

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

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

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

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

unlink 运行良好,无需设置即可完成。