我想知道在php/mysql应用程序的文件系统中组织文档的好方法是什么。文档的所有信息都存储在一个数据库中,我对文件系统的组织很好奇。这是一个好方法吗?有没有更好的方法?
主文件夹
/documents每个客户端一个文件夹
/documents/client1每个客户端都会将文档上传到此处
/documents/client1/queue用户填写表单后,文档将保存到数据库并移动到此文件夹中
/documents/client1/docs文档的原始名称和文件系统名称存储在数据库中,文件系统名称类似于md5($time.$filename.$client_id),文档路径如下所示
/documents/client1/docs/6f99caa11e78697612d8f1b4481cd76a.pdf我需要(最低)从第一页的拇指和自动条形码读取pdf的第一页
/documents/client1/docs/6f99caa11e78697612d8f1b4481cd76a/6f99caa11e78697612d8f1b4481cd76a-0.gif我也有
/documents/client1/scan扫描仪中的文件所在的位置,以便用户可以将其导入数据库,然后重命名这些文件并将其移动到:/document/client1/docs
我想知道是否应该将特定日期的文件放在日期文件夹中,如下所示:
/documents/client1/docs/20110915/6f99caa11e78697612d8f1b4481cd76a.pdf或者我应该使用完全不同的文件夹结构?
发布于 2011-09-15 17:57:02
为什么不只使用一个通用文件夹来存放临时(上传)文件?它可以使日常维护变得更容易(例如,删除所有旧文件)。
我想知道我是否应该将特定日期的文件放在一个日期文件夹中,如下所示:
/documents/client1/docs/20110915/6f99caa11e78697612d8f1b4481cd76a.pdf
如果日期是由您的数据库处理的,则不需要。然而,如果出于某种原因,您需要手动访问此文件(而不是使用您的界面),它可能会很有帮助……
最后但并非最不重要的一点是,要知道文件系统的局限性。在某些文件系统/os上,您可能对每个文件夹的文件数量有限制(虽然很大,但仍然如此)。
发布于 2011-09-15 18:34:43
我更喜欢根据文件名对文件组织进行哈希处理的结构。
/documents/6/f/9/6f99caa11e78697612d8f1b4481cd76a.pdf这将保持良好的文件访问,并且如果需要,很容易使结构更深。
使用日期作为目录的问题是,文件位置取决于一些可能更改的信息(我们永远不知道!)
https://stackoverflow.com/questions/7428919
复制相似问题