私はファイル管理システムに取り組んでおり、同じ名前のファイルが存在する場合は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)
}
私はバージョン管理が存在するかどうかを確認するために正規表現パターンを使用するだろうと考えています。
私の質問は以下のとおりです。
- 次のようにナンバリングシステムを使用しての潜在的な問題は何ですか?
- ファイル名のバージョン管理にはどのような方法がありますか?
私は、これは一括インポートシステムであることを意図していますので、私は私が持っていない場合は、私に一意のファイル名を与えるために、ユーザのバグにはしたくない、と私は含めてのオプションを持っています他のバージョン管理スキームの選択私のシステムはタグを持っているので、filenameの重要性は低くなっていますが、私はまだいくつかの重要性があると思います。
私は、ファイルシステム内の完全に一意のファイル名へのデータベースポインタとしてのファイル名のみを扱っていることを忘れていました。私が望むならば、私は同じファイル名を使うことができました。それはフロントエンドユーザーにとってもっと混乱していると感じています。 – jjclarkson