我正在使用文件管理系統,如果存在具有相同名稱的文件,則希望包含自動版本控制,例如bates numbering。我以爲將文件名和擴展名之間的「-v0001」和計數版本的數量,因爲他們進來。自動文件版本控制的缺陷?
$basename = pathinfo($filename, PATHINFO_BASENAME);
$fname = pathinfo($filename, PATHINFO_FILENAME);
while (filenameExists($basename)) {
//look for existing -vnnnn (at end of file name)
if (versioningExists($fname)) {
//roll number ahead, set bates number
} else {
//start bates numbering at 1
}
//insert bates version number (str_pad)
}
我想我會用正則表達式來檢查是否存在版本。
我的問題是:
- 什麼是使用一個編號系統這樣的潛在的問題?
- 還有什麼替代方法來處理文件名版本?
我打算這是一個大衆進口系統,所以我不希望錯誤的用戶給我唯一的文件名,如果我不就得了,我有包括的選項其他版本控制方案的選擇。我的系統有標籤,所以文件名的重要性下降了,但我認爲還是有一定的重要性。
我忘了提及我只處理文件名作爲數據庫指針指向文件系統中完全唯一的文件名。如果我願意,我可以使用相同的文件名,但我只是覺得這會讓前端用戶感到困惑。 – jjclarkson 2009-08-24 16:23:33