【发布时间】:2020-04-11 18:28:59
【问题描述】:
我正在编写一篇博文,当我点击添加帖子时,任何文件夹中的图像都会被放入 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!');
}
【问题讨论】:
-
首先检查文件是否退出,如果退出,则使用已删除的 id 获取文件名,然后在删除查询后取消链接此文件。
file_exists(),unlink() -
这将解决您的问题。 stackoverflow.com/questions/33842735/…
-
请添加解释为什么问题|答案被否决
标签: php laravel controller sql-delete delete-file