LARAVEL如何从公用文件夹中删除图像?

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

我正在编写博客文章,当我单击添加文章时,来自任何文件夹的图像都会放入public / user / img /删除整个表格行时如何删除它? (单击删除帖子),请参见下面的公共函数deletePost($ id),我可以连续删除详细信息(文本),但不能删除文件夹中的文件。请帮助

public function deletePost($id){
    $posts = Post::where('id',$id);
    $posts->delete();
    return back()->with('delete_posts_success','Deleted!');
}

public function getAddPost() {
    return view('admin.publish');
}

public function postAddPost(Request $request) {
    $post = $request->all();


    $post = new Post;
    $post->title = $request->title;
    $post->author = $request->author;
    $post->content = $request->content;
    $post->intro = $request->intro;
    $post->type = $request->type;

    if($request->hasFile('image')) {
        $file = $request->file('image');
        $extension = $file->getClientOriginalExtension();
        if($extension != 'jpg' && $extension != 'png' && $extension != 'jpeg') {
            return back()->with('Error', 'File extension must be jpg, png, jpeg');
        }
        $imageName = $file->getClientOriginalName();
        $file->move("user/img", $imageName);
        $post->image = $imageName;
    } else {
        $imageName = null; 
    }


    $post->save();
    return back()->with('create_posts_success','Published!');
}
php laravel controller sql-delete delete-file
1个回答
0
投票

您必须将文件名保存在数据库中此上传帖子的某个位置

现在删除该帖子时,->从您的数据库记录中获取文件的名称,->使用file_exists()检查文件是否存在于该位置->使用unlink()删除找到的文件

->获取文件删除响应(true | false)

完成

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