[英]php, mysql - folder/file organization for document management
我想知道什么是在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
掃描程序中文件的位置,以便用戶可以將其導入數據庫中,然后將其重命名並移動到:/ documents / client1 / docs
我想知道是否應該將特定日期的文件放在這樣的日期文件夾中:
/documents/client1/docs/20110915/6f99caa11e78697612d8f1b4481cd76a.pdf
還是我應該使用完全不同的文件夾結構?
為什么不只使用一個公用文件夾存儲臨時(上載)文件? 這可以使維護例行程序更加容易(例如刪除所有舊文件)。
我想知道是否應該將特定日期的文件放在這樣的日期文件夾中:
/documents/client1/docs/20110915/6f99caa11e78697612d8f1b4481cd76a.pdf
如果日期由您的數據庫處理,則沒有必要。 不過,如果由於某種原因您需要手動訪問此文件(而不使用界面),則可能會有所幫助...
最后但並非最不重要的一點是,請注意您的文件系統的限制。 在某些文件系統上,您可能會對每個文件夾的文件數量有所限制(很大,但仍然)。
我希望有一種根據文件名對文件組織進行哈希處理的結構。
/documents/6/f/9/6f99caa11e78697612d8f1b4481cd76a.pdf
這將保持良好的文件訪問權限,並在需要時易於使結構更深。
使用日期作為目錄的問題在於文件位置取決於某些可能更改的信息(我們永遠不會知道!)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.