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

Php LARAVEL如何从公用文件夹中删除图像?,php,laravel,controller,sql-delete,delete-file,Php,Laravel,Controller,Sql Delete,Delete File,我正在编写一篇博客文章,当我单击“添加文章”时,任何文件夹中的图像都会放入public/user/img/ 当我删除整个表格行时,如何删除它?(单击删除帖子),请参见下面的公共函数deletePost($id),我可以删除行中的详细信息(文本),但无法删除文件夹中的文件。 请帮忙 public function deletePost($id){ $posts = Post::where('id',$id); $posts->delete(); return back

我正在编写一篇博客文章,当我单击“添加文章”时,任何文件夹中的图像都会放入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!');
}

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

现在当你删除那篇文章时, ->从数据库记录中获取文件名, ->使用
file\u exists()
->使用
unlink()

->获取文件删除响应(真|假)

在您的情况下,它变成如下所示

$filePathName = 'user/img/' . $post->image;
if( file_exists($filePathName) ){
   unlink($filePathName);
}
请忽略我的语法错误
完成

首先通过使用已删除id获取文件名来检查文件是否存在,如果存在,则在删除查询后取消此文件的链接<代码>文件_exists(),
取消链接()
这将解决您的问题。请解释问题|答案被否决的原因