我正在使用PHP创建一个图片库脚本,其中包括一个评论系统。 该脚本的基本功能是读取文件夹的名称并显示包含该文件夹的图库 将名称命名为标题及其图像。
问题是,使用mysql制作的评论系统保存了这样的评论:
ID |文件夹|图像
这很好用,但是当我更改文件夹的名称时,脚本无法正常工作,因为在Mysql表中设置了错误的foldername。 此外,当我只保存图像的名称时,有可能有两张不同的图片 具有相同名称的文件夹。
是否可以在不使用其名称的情况下识别文件夹?
//注意:
感谢您的帮助,我想我找到了解决方案。现在我只保存图像的md5哈希并将其保存在数据库而不是foldername。
答案 0 :(得分:1)
我想最好使用另一个表来保存文件夹ID及其名称 folder_id |文件夹名称 这样的事情。依赖文件夹名称不是一个好习惯
答案 1 :(得分:1)
没有。您需要将文件系统与数据库同步。每当您重命名/删除/编辑文件夹时,请更新其在mysql数据库中的条目。
答案 2 :(得分:1)
一种可能性是使用图像内容的校验和作为唯一标识符。只要内容没有改变,那么你应该没问题。至于识别文件夹的更改名称,除非您查看使用包含在其中的文件的函数的散列,否则我无法想到任何狡猾的检测方式。
我认为诚实地说,重新考虑一下在数据库中存储/识别这些项目的方式会很好。
答案 3 :(得分:0)
你总是可以这样做:
创建3个表:
然后,您将在“画廊”表格中创建所有名称及其名称的画廊。创建图库时,您可以将要显示的所有图像放在文件夹中,例如uploads /。然后,您将在数据库中插入文件的名称(也可以生成随机文件名)及其真实名称。例如“海豚海豚”可以指向上传文件夹中的dolphins1234142.png。然后,您的所有注释都将在注释表中,您可以在其中设置与文件表的关系。这样您就可以对某张图片发表评论。
我对画廊系统的看法,希望它有意义。