我要去主持的文件用户提交的.我需要抓住的一些数据文件,然后移动它的一些目录。

有两点令人感兴趣的,为生的这个文件。第一个是当数据正在抽象和第二是当文件存档,以便它可以共享。

当数据被抽象的,我认为,重新命名的文件的一些独特的东西或者追加的唯一串的文件,以保持它的复盖的其他现有文件。

该文件时将被存档,我已经想到了三个战略。一种是保留所有文件上载到一定的数据在一个文件夹。(2006/sept/04,2008年/月/05)另一个是保持一个文件夹和保持充,直到一些最大数量的文件,我想要保留在文件夹,然后创造另一个人(/folder001/,/folder002/,/folder003/,etc..).另一个是创子文件一旦达到某一阈值。所以像(/j/jd/jde/jdelator)我看过这unix不知道该如何解释这一点。

这问题我是什么样的战略,你们已经找到了有用或使用?

有帮助吗?

解决方案

当数据被抽象的,我会选择喜欢的东西: filename + millisec(); 这是不可能的,两呼吁毫秒将是相同的,名为更多的用户友好的时候访问。

该日期战略可以方便,如果你决定删除旧的和未使用的文件:你只有得到2006年的文件夹,并移除所有的没有被访问的最后一年,根据你的记录。这也可以是一个良好的指示用户,因为他们将知道,如果它是一个新鲜的文件或没有。该folderXYZ仅仅是一个变,替换的日期与签每个N的文件。

阈值子文件可以帮助你保持的条目数量的目录低,因此访问速度更快。注意,这一解决方案需要有时移动文件(然后打破一些网址,如果不映射)当一特定目录的增长。

另一个可能性是,用一个数据库与UID相对应的文件的位置,文件和访问过 http://server.com/UID/filename.txt .这种方式,用户可以节省的文件,作为"filename.txt"这是方便他,你知道的URL在哪里可以找到该文件(使用该数据库转变UID要位置)。注意UID可以检验和(MD5,SHA-1)来处理的重复同样的文件。

其他提示

我会投票guid在一个数据库,然后使用Content-Disposition header to name它回到原始文件,如果有必要的。有一件事我会倡导的是,该文件夹中使用储存之外的网络根;你不希望用户将文件上传到应用程序的文件夹。

我已经用关系的数据库,其标签ID's(int),以应付,都名称的文件。这样不管他们是如何在磁盘上。它帮助我混淆的文件。此外,然后我就可以使用加以"重新命名"的文件,随意。此外,我可以使用不同的文件"的名称。" 这一切都取决于你的应用程序及其运行。

虽然它取决于应用程序和等, 我建议保持文件储存库的方案非常简单的用于现在,并决定更详细的战略以后。换句话说,你做的种"管理混乱"一段时间;结构和战略将来以后,当你将找出的所有要求和领域的具体情况。通过保持简单,你可以改变一切都很容易。

不管怎么说,变化是不可避免,最好的事情你现在能做的就是选择 一些战略 和对文献的一切。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top