1

我正在用 PHP 制作一个图片库脚本,其中包括一个评论系统。该脚本的基本功能是读取文件夹名称并显示以文件夹名称为标题的画廊和图像。

问题是,用mysql制作的评论系统保存了这样的评论:

身份证 | 文件夹 | 图片

这很好用,但是当我更改文件夹的名称时,脚本不起作用,因为在 Mysql 表中设置了错误的文件夹名称。此外,当我只保存图像的名称时,有可能在不同的文件夹中有两张具有相同名称的图片。

是否可以在不使用文件夹名称的情况下识别文件夹?

//笔记:

感谢您的帮助,我想我找到了解决方案。现在我只保存图像的 md5 哈希并将其保存在数据库中而不是文件夹名称中。

4

4 回答 4

1

不,您需要将文件系统与数据库同步。每当您重命名/删除/编辑文件夹时,请更新其在 mysql 数据库中的条目。

于 2011-04-04T14:25:15.007 回答
1

一种可能性是考虑使用图像内容的校验和作为唯一标识符。只要内容没有改变,那么你应该没问题。至于识别更改的文件夹名称,我想不出任何巧妙的方法来检测这一点,除非您查看使用哈希值,该哈希值是其中包含的文件的函数。

老实说,我认为重新考虑您在数据库中存储/识别这些项目的方式会很好。

于 2011-04-04T14:26:33.563 回答
1

我想最好使用另一个表来保存文件夹 id 及其名称 folder_id | folder_name 类似的东西。依赖文件夹名称不是一个好习惯

于 2011-04-04T14:24:06.163 回答
0

你总是可以这样做:

创建 3 个表:

  • 画廊 - > 列(id,title)
  • 文件 -> 包含列(id、gallery、name、filename)
  • 评论 -> 列(id、file_id、comment)

然后,您将在“画廊”表中创建所有画廊及其名称。创建图库时,您会将要显示的所有图像放在一个文件夹中,例如 uploads/。然后,您将在数据库中插入文件的名称(也可能生成随机文件名)以及它的真实名称。例如,“海滩上的海豚”可以指向上传文件夹中的 dolphins1234142.png。然后,您的所有评论都将在评论表中,您将在其中设置与文件表的关系。这将允许您对某个图像进行评论。

只是我对画廊系统的看法,希望它有意义。

于 2011-04-04T14:28:25.423 回答