Php LARAVEL如何从公用文件夹中删除图像?
我正在编写一篇博客文章,当我单击“添加文章”时,任何文件夹中的图像都会放入public/user/img/ 当我删除整个表格行时,如何删除它?(单击删除帖子),请参见下面的公共函数deletePost($id),我可以删除行中的详细信息(文本),但无法删除文件夹中的文件。 请帮忙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 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(),
取消链接()
这将解决您的问题。请解释问题|答案被否决的原因