我要的是删除数据库中某表的记录后删除图片文件
我的数据库由 4 个表组成,用主键和外键链接。
这 4 个表是:品牌、产品、内容、促销。全部包含列“brandID”并有一列“文件路径”
表被更改为“ON DELETE CASCADE”,因此当删除“brandID”时,其他表的记录将被删除。
** 我将图像文件保存到服务器,文件路径到数据库。同样,我想要的是在删除表的文件路径(条目)时删除服务器中的物理文件..
非常感谢任何建议。
我是 DB 的新手,下面是我红色的链接..我需要更多信息..
再次感谢
Can we delete the physical file from server when I delete the corresponding entry from database?
最佳答案
MySQL 无法真正自动为您执行此类文件系统操作*。相反,向服务器发出 DELETE
语句的应用程序代码应该调用文件系统操作来删除文件。
因此你需要:
从数据库中选择文件路径;
从数据库中删除记录(级联外键约束可以保证所有关联的记录都被适当删除);和
从文件系统中删除文件。假设您的应用程序是在 PHP 中(因为您的问题被如此标记),在这种情况下您可以调用
unlink()
删除文件。
* 这并不完全正确,因为可以使用 UDF 从触发器中删除文件,但这通常会打开许多安全漏洞,这些漏洞很少值得权衡。
关于php - 删除数据库中表的记录后删除物理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20044784/