问题列表分类: PHP使用强删除delete数据的时候,可不可以直接删掉相应的图片文件?
0
头像付杰 管理员 asked 2年 ago

我们一般用delete删除的时候,都可以删除一条数据,但是如果我这条数据里面有图片路径呢?我删除的话数据虽然说是删除了,图片路径也不在了,但是图片有被删除掉吗?是否还存在我的磁盘上面?新手求解决?

因为我的这个项目是一个自媒体,每天上传的图片太多了,图片更新非常的频繁,就会造成大量无用的图片,有点占我的磁盘空间;我的项目案例如下图:删除字体可以直接删掉相应的图片文件吗

头像付杰 管理员 replied 2年 ago

你是说删除数据库的某条记录顺便把那条记录的图片给删了?

3 Answers
1
头像付杰 管理员 answered 2年 ago

 按照我们一般的程序设计逻辑,就算你使用强制删除delete字段时,相应的图片文件是不能被删除的!

1
头像付杰 管理员 answered 2年 ago


如果真的不可以,可是这样久了就会存好多图片又应该如何解决呢?
以下是PHP高级工程师交流群讨论的方案:

1、你在删除数据的时候获取到图片的路径,写一个删除图片的方法,调一下就行了!
2、你删除那个记录之前,先把那个记录的图片路径取出来,然后删除那条记录,记录成功之后再删除那个图片,用php unlink函数;

1
头像付杰 管理员 answered 2年 ago

郑重申明:严谨的程序设计,其实是不允许有真正的删除功能,所谓删除都是直接修改数据的状态码;毕竟现在数据都是非常宝贵的,不是吗?

建议大家写程序做如下设计:删除功能有软删除和硬删除。

一般的管理员权限都是软删除,只有admin超级管理员的删除才是硬删除;(软删除就是修改数据的状态码,并没有真正的删除!数据还可以找得着;)