在主机中搜索或连接到数据库

时间:2012-02-23 17:20:07

标签: php database image directory

在我的主机中,我有超过1000个文件夹,我希望它可以达到10000多个文件夹。

所有文件夹内容约有20张图片。

我目前使用scandir列出一个文件夹中的所有图像,并只向用户显示一个图像。

所以,这是我的问题:为了在所有这些图像中只显示一个图像,我应该将它们的名字存储在数据库中,然后通过id加载它们,还是使用scandir并搜索整个文件夹?

顺便说一下,我的脚本就像mangafox.com。

2 个答案:

答案 0 :(得分:2)

我无法提供任何硬数据,但数据库肯定会让您的网站变得更加快捷。扫描目录以显示图像肯定不会缩放,只需快速查找数据库中图像的路径并使用它。

此外,您可以将数据库用于有关图像的其他元数据,例如评论或艺术家信息,这些信息可能更难以仅使用文件系统添加到图像中。

答案 1 :(得分:1)

似乎这是频繁的活动 - 您不希望一直运行scandir。但是,如果文件经常更改,那么您添加了一个额外的问题,即保持数据库与文件系统同步。

这真的是简单但有时很慢(使用scandir构建文件列表)和复杂但更快(必须同步数据库和文件系统)之间的权衡。

我的建议首先是构建一个表示结果的数组或scandir并将其缓存到文件系统。这可能更容易保持同步,并且仍然提供更快的性能(假设它是针对单个文件夹而不是整个结构)。