我正在开发一个文件管理系统,如果存在同名文件,我想包括一个自动版本控制,例如贝茨编号。我想在文件名和扩展名之间插入一个“-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)
}
我想我会使用正则表达式模式来检查版本控制是否存在。
我的问题是:
- 使用这样的编号系统有哪些潜在问题?
- 处理文件名版本控制有哪些替代方法?
我打算将它作为一个大规模导入系统,所以如果我不需要,我不想让用户给我唯一的文件名,而且我确实可以选择包括其他版本控制方案的选择。我的系统有标签,所以文件名的重要性降低了,但我认为仍然有一些重要性。