在没有db的情况下构建文件

时间:2010-12-14 20:26:47

标签: php ruby algorithm programming-languages

基本上我有一个用户用来上传文件的简单表格。文件应存储在/ files /目录下,并带有一些子目录,几乎可以分割文件。例如/files/sub1/sub2/file1.txt

此外,我不需要存储相同的文件(通过文件名)。

我有自己的解决方案。从文件名计算sha1。取前5个符号 - 例如abcde并将文件放在/ files / a / b / c / d / e /这很好用,但是当一个文件夹包含4k文件,第2个6k文件时给出情况。有没有办法让文件数量更接近彼此?最大文件数可以是10k或10kk。

感谢您的帮助。

P.S。可能是我解释了一些错误,所以再一次:)任务很简单 - 你只有html和php(没有任何数据库)和文件目录,你应该只存储没有任何自己数据的上传文件。您应该开发脚本,可以处理存储上传到文件目录而不存储重复项(通过文件名),并按子目录拆分上传的文件,每个目录中的文件计数(每个目录中的最佳和计数文件应该彼此接近)。

1 个答案:

答案 0 :(得分:0)

我不知道你为什么要这样做。但是如果你真的必须这样做,我会建议你设置一个限制在每个文件夹中存储多少字节。每次您必须保存数据时,您都可以使用

打开日志
  1. 当前子
  2. 写入该目录的总字节数
  3. 如果需要你创建一个新的子指令(你可以使用当前的时间点,因为它不会重复)并重置字节数 然后保存文件并按字节数增加字节数。

    我非常怀疑这项工作是否值得,但我真的不知道你为什么要这样分发这些文件。