Je travaille sur un système de gestion de fichiers et j'aimerais inclure un versionnement automatisé tel que bates numbering si un fichier portant le même nom existe. Je pensais d'insérer un « -v0001 » entre le nom de fichier et l'extension et en comptant le nombre de versions comme ils entrent en jeu.Pièges de la gestion automatisée des versions de fichiers?
$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)
}
Je pense que je voudrais utiliser un modèle de regex pour vérifier si le versionnage existe.
Mes questions sont les suivantes:
- Quels sont les problèmes potentiels de l'utilisation d'un système de numérotation comme celui-ci?
- Et quelles sont les alternatives pour traiter le versionnement des noms de fichiers?
Je proposais l'existence de ce système d'importation de masse, donc je ne veux pas bug à l'utilisateur de me donner des noms de fichiers uniques si je n'ai pas, et j'ai la possibilité d'inclure une sélection d'autres schémas de versioning. Mon système a des balises, donc le nom de fichier a une importance moindre, mais je pense qu'il y a encore de l'importance.
J'ai oublié de mentionner que je traite seulement le nom de fichier comme un pointeur de base de données vers un nom de fichier complètement unique dans le système de fichiers. Je pourrais utiliser des noms de fichiers identiques si je le voulais, je pense juste que cela serait plus déroutant pour l'utilisateur final. – jjclarkson