php - 管理大量文件的技巧?

标签 php directory-structure file-management

SO 上有一些关于大型项目中文件管理和存储的非常好的问题。

Storing Images in DB - Yea or Nay?
Would you store binary data in database or in file system?

第一个有一些很好的见解,在我的项目中我决定采用文件路径而不是数据库路径。

反对使用文件系统的一个主要观点是备份。但是在我们的系统中,我们有一个很好的备份方案,所以我并不担心。

下一个路径是如何存储实际文件。而且我考虑过让文件的位置始终保持静态,并在数据库方面创建一个虚拟目录系统。所以指向文件的链接不会改变。

我正在构建的系统将有一个全局文件管理,因此所有用户都可以访问所有文件。但是许多走文件路线的人谈论物理目录大小(例如,如果所有文件都在一个目录中)

所以我的问题是,在为这些静态文件创建文件夹时有哪些技巧或最佳实践方法,或者我是否根本不应该使用虚拟目录路径。

(该项目在 LAMP 堆栈 (PHP) 上,如果有帮助的话)

最佳答案

一种方法是为每个文件分配一个唯一编号,并使用它来查找实际文件位置。然后您可以使用该编号将文件分发到文件系统中的不同目录中。例如,您可以使用类似这样的方案:

/images/{0}/{1}/{2}

{0}: file_number % 100
{1}: (file_number / 100) % 100
{2}: file_number

关于php - 管理大量文件的技巧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/671260/

相关文章:

php - 仅显示数据库中的三个连续值

php - 停止两个jquery之间的冲突

C# 加密 (AesManaged) 与 PHP 等效

php - 如何在 PHP 中使用 mysqli_query()?

c - 如何将文件中的数据存储在数组中的函数中,然后打印该数组?

ios - Xcode 引用文件的旧副本

python - os.walk() python : xml representation of a directory structure, 递归

c - 构建 C 代码的技巧/资源?

python - 保证不存在文件的单元测试 fixture

version-control - 小型办公室处理文件的最佳方式是什么?