使用PHP识别文件夹

时间:2011-04-04 14:20:41

标签: php image gallery directory identify

我正在使用PHP创建一个图片库脚本,其中包括一个评论系统。 该脚本的基本功能是读取文件夹的名称并显示包含该文件夹的图库 将名称命名为标题及其图像。

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

ID |文件夹|图像

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

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

//注意:

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

4 个答案:

答案 0 :(得分:1)

我想最好使用另一个表来保存文件夹ID及其名称 folder_id |文件夹名称 这样的事情。依赖文件夹名称不是一个好习惯

答案 1 :(得分:1)

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

答案 2 :(得分:1)

一种可能性是使用图像内容的校验和作为唯一标识符。只要内容没有改变,那么你应该没问题。至于识别文件夹的更改名称,除非您查看使用包含在其中的文件的函数的散列,否则我无法想到任何狡猾的检测方式。

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

答案 3 :(得分:0)

你总是可以这样做:

创建3个表:

  • 画廊 - >与列 (ID,标题)
  • 个文件 - >用列(id, 画廊,名称,文件名)
  • 评论 - >用列(id, file_id,评论)

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

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