在我的主机中,我有超过1000个文件夹,我希望它可以达到10000多个文件夹。
所有文件夹内容约有20张图片。
我目前使用scandir列出一个文件夹中的所有图像,并只向用户显示一个图像。
所以,这是我的问题:为了在所有这些图像中只显示一个图像,我应该将它们的名字存储在数据库中,然后通过id加载它们,还是使用scandir并搜索整个文件夹?
顺便说一下,我的脚本就像mangafox.com。
答案 0 :(得分:2)
我无法提供任何硬数据,但数据库肯定会让您的网站变得更加快捷。扫描目录以显示图像肯定不会缩放,只需快速查找数据库中图像的路径并使用它。
此外,您可以将数据库用于有关图像的其他元数据,例如评论或艺术家信息,这些信息可能更难以仅使用文件系统添加到图像中。
答案 1 :(得分:1)
似乎这是频繁的活动 - 您不希望一直运行scandir
。但是,如果文件经常更改,那么您添加了一个额外的问题,即保持数据库与文件系统同步。
这真的是简单但有时很慢(使用scandir
构建文件列表)和复杂但更快(必须同步数据库和文件系统)之间的权衡。
我的建议首先是构建一个表示结果的数组或scandir
并将其缓存到文件系统。这可能更容易保持同步,并且仍然提供更快的性能(假设它是针对单个文件夹而不是整个结构)。