gpt4 book ai didi

php - 在 LAMP 站点上使用长目录路径/名称和 URL 有哪些缺点?

转载 作者:太空宇宙 更新时间:2023-11-04 04:28:01 25 4
gpt4 key购买 nike

Possible Duplicate:
What are the downsides of longer directory paths/names and URL's on a LAMP site?

LAMP 站点上较长的目录路径/名称和 URL 有哪些缺点?

我正在尝试尽可能高效地组织网站上的图像,并且热衷于使用许多嵌套目录,这样子目录中的子目录就不会超过 1,000 个,这样目录就可以轻松地在许多用户之间进行维护。

在最坏的情况下,图像的存储方式将如下所示:

./images/76/543/7654321/640/1.jpg

与像这样的简单目录相比,拥有如此多的子目录有什么严重的缺点吗:

./i/a7/c3/5e.jpg

我认为服务器必须挖掘的子目录越多,花费的时间就越长,目录结构越长,URL 就越长,因此 HREF 在 HTML 文档中占用的空间就越大。但这会产生多大的影响呢?假设我们扩展到数百万用户,这是我需要考虑的事情(短目录结构与长目录结构)还是可以使用较长的目录结构?

谢谢!

最佳答案

您可以使用根据您的需求和经验“增长”的存储。

假设您根据图像本身创建图像的文件名,例如对其内容使用 SHA1,例如b494ad9057e09277fd02e811bb8e86b322a5166b.jpg 可能是名称。

图像然后存储在文件系统的“images”目录中。

用于访问文件的 URI 始终为 images/b494ad9057e09277fd02e811bb8e86b322a5166b.jpg

现在,奇迹发生在 Apache 的 mod_rewrite 内部。请求的资源可以按照您想要的任何方式拆分,例如拆分为 images/b494ad9057e09277fd02/e811bb8e86b322a5166b.jpg(请注意哈希值第 20 个字符后面的斜杠),然后从那里加载。

一旦您从文件系统专家那里得到答案,您就可以更改 URI 的分割方式并将所有文件移动到新的预期位置,因为始终可以通过遍历目录层次结构来构建“原始”文件名。

此外,一个好的散列应该在散列中创建“均匀分布的字符”,因此您的目录应该或多或少以平衡的方式填充。

关于php - 在 LAMP 站点上使用长目录路径/名称和 URL 有哪些缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6879994/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com