반응형
if(!is_dir($saveDir)) {
$oldumask = umask(0);
mkdir($saveDir, 0777); // or even 01777 so you get the sticky bit set
umask($oldumask);
}
이때...
umask란 file이 생성될 때 사용할 file의 권한에 대해 mask를 인코딩하는 system 변수이다.
보통 3자리로 표현이 되며 각각의 자리는 user, group, other의 권한을 나타낸다.
umake의 값은 3자리의 8진수의 값이며 각각의 값은 1,2,4의 값은 AND 연산한 결과이다.
0 : 사용자에게 모든 권한을 혀용.
4 : 사용자에게 읽기 권한은 주지 않음.
2 : 사용자에게 쓰기 권한을 주지 않음.
1 : 사용자에게 실행 권한을 주지 않음.
간단하게 예를 들어서 설명을 해 보면 umask 022 는 user에게는 모든 권한을 주며, group과 other에는 실행 권한과 읽기 권한만 주는 것이다.
즉 -rwxr-xr-x의 퍼미션을 나타낸다.
그러면 하나의 예를 더 들어 보면 -rxw--x--x 의 퍼미션을 지정하려면 group과 other에게 읽기와 쓰기의 권한을 주지 않는 2,4를 지정하는데 위에서 AND연산의 결과값이기 때문에 6이 된다. 즉 umask 066이 되는 것이다.
반응형
'웹프로그램' 카테고리의 다른 글
PHP registart 값 off 후 파일 업로드 (0) | 2008.10.18 |
---|---|
PHP registart 값 off 후 세션 에러 (0) | 2008.10.18 |
PHP mailto() header 값 정의 (0) | 2008.10.18 |
PHP register_global=Off 상태 라도 변수 먹히게 (0) | 2008.10.18 |
PHP mktime - 달력 관련 (0) | 2008.10.18 |
PHP unix 타임 보기 (0) | 2008.10.18 |
PHP DB에 데이타 한꺼번에 밀어넣기 예제 (0) | 2008.10.18 |
php 외부변수들 - phpinfo() (0) | 2008.10.18 |