나는 파일 관리 시스템을 연구 중이며 동일한 이름의 파일이있는 경우 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)
}
나는이 버전이 존재하는지 확인하기 위해 정규식 패턴을 사용 생각하고 있어요.
내 질문은이 같은 번호 체계를 사용하여 잠재적 인 문제는 무엇
- 입니까?
- 파일 이름 버전을 처리하기위한 대안은 무엇입니까?
나는 대량 가져 오기 시스템으로이를하려는거야, 그래서 버그 I가없는 경우 나에게 고유 한 파일 이름을 제공하기 위해 사용자에게 싶지 않아, 내가 포함하는 옵션이 할 다른 버전 관리 체계의 선택. 내 시스템에는 태그가 있기 때문에 파일 이름의 중요도는 낮아졌지만 여전히 중요하다고 생각합니다.
필자는 파일 시스템에서 완전히 고유 한 파일 이름을 가리키는 데이터베이스 포인터로만 파일 이름을 처리한다는 것을 잊어 버렸다. 원한다면 동일한 파일 이름을 사용할 수 있습니다. 프런트 엔드 사용자가 혼란 스러울 것이라고 생각합니다. – jjclarkson