Instanciation de os.FileMode pour la création/mise à jour de fichiers
L'instanciation de os.FileMode garantit correctement les paramètres d'autorisation appropriés pour les fichiers lors de la création ou de la mise à jour. De nombreux didacticiels recourent à la définition directe des bits d'autorisation, mais une approche plus précise consiste à utiliser le type os.FileMode.
Constantes personnalisées pour la définition des autorisations
En l'absence de paramètres prédéfinis constantes dans os ou syscall, vous pouvez déclarer les vôtres :
const ( OS_READ = 04 OS_WRITE = 02 OS_EX = 01 ... OS_ALL_RWX = OS_ALL_RW | OS_ALL_X )
Exemple de paramètre d'autorisation de précision
Voici un exemple illustrant l'utilisation de constantes personnalisées :
func FileWrite(path string, r io.Reader, uid, gid int, perms string) (int64, error) { fileMode := os.FileMode(0) if perms[0] == '6' { fileMode |= OS_USER_RW } else if perms[0] == '7' { fileMode |= OS_USER_RWX } ... // Continue setting file mode based on the remaining characters of `perms` ... w, err := os.OpenFile(path, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, fileMode) ... }
Avantages de l'approche constante personnalisée
Les constantes personnalisées fournissent :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!