如何添加从存储中删除图片并使用按钮更改DB中的值

时间:2019-05-17 10:55:12

标签: php laravel

我的网站上的个人资料页面上有“删除”按钮。我希望它从存储中删除图像,并将字段“头像”中数据库“人”的值更改为default.png。

我试图向按钮添加动作,该动作引用路由并使用控制器中的deleteImage函数。一切都包含在代码中。

代码中的按钮,用于删除图片

<a href="" action="{{$person->last_name}}/delete" id="" class="tabledit-delete-button btn btn-danger waves-effect waves-light active" name="delete-image" id="delete-image-button">
<i class="icofont icofont-ui-delete"></i></a>

带有路由的web.php:

Route::get('/person/profile/{person_id}/{last_name}/delete', 'Views\Person\PersonViewController@deleteImage')->name('deleteImage');

PersonViewController.php中的功能:

function deleteImage($id)
    {
        $name = Person::where('person_id', $id)->get('avatar');
        if(Storage::delete('/files/assets/images/user-profile/' . $name, '/files/assets/images/user-profile/standard/' . $name, '/files/assets/images/user-profile/miniatures/' . $name) && Person::where('person_id', $id)->update(['avatar' => 'default.png'])) {
            return view('person.profile.profile-view')->with('success', 'Image Deleted Successfully');
        }
        else{
            return view('person.profile.profile-view')->with('fail','Something Went Wrong');
        }
    }

我希望按钮删除存储在3个文件夹/files/assets/images/user-profile//files/assets/images/user-profile/standard/files/assets/images/user-profile/mimiature中的图像 并将数据库中的值从imagename更改为default.png

1 个答案:

答案 0 :(得分:0)

您可以这样更改函数名称吗? function deleteImage($id, $lastName) 然后在函数中注释所有代码,然后放入 $variables = [$id, $lastName] dd($variables)