我正在编写博客文章,当我单击“添加文章”时,来自任何文件夹的图像都会放入 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!');
}
答案 0 :(得分:0)
您必须将文件名保存在该上传帖子的数据库中
现在,当您删除该帖子时,
->从您的数据库记录中获取文件名,
->使用file_exists()
检查文件是否存在于该位置
->使用unlink()
->获取文件删除响应(true | false)
在您的情况下,它变成类似下面的
$filePathName = 'user/img/' . $post->image;
if( file_exists($filePathName) ){
unlink($filePathName);
}
请忽略我的语法错误 完成