플래그를 설정하기 전에 os.FileMode가 권한을 변환하는 방법
원래 우려 사항
os.FileMode 함수를 8진수 또는 10진수로 사용하면 결과 파일 권한이 항상 예상 동작과 일치하지 않는 것 같습니다. 특히 10진수(앞에 0이 없음)를 전달하면 8진수를 전달하는 것과 파일 속성이 달라집니다.
변환 논리
os.FileMode는 정수를 입력으로 허용합니다. 내부적으로는 이를 32비트 부호 없는 정수로 나타냅니다. 최하위 9비트는 Unix 파일 권한에 해당하고 나머지 12비트는 사용되지 않습니다. 8진수를 정수로 변환할 때 언어 사양에서는 숫자가 앞에 0("0")으로 시작하는 경우 숫자를 기본 8로 해석합니다. 그렇지 않으면 숫자를 10진수로 해석합니다.
예
권한 "rwx------"을 나타내는 8진수 "0700"을 생각해 보세요.
추가 참고
os.FileMode 표현에서 사용되지 않은 12비트는 다음을 나타냅니다. 특수 파일 기능. 그러나 이는 기본 파일 권한과 관련이 없습니다.
위 내용은 os.FileMode는 플래그를 설정하기 전에 권한을 어떻게 변환합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!