묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
[php] 웹상에 폴더를 만들고 권한부여 궁굼합니다.
2007.05.09 14:23
<?
mkdir("test/test1",777);
mkdir("test/test1/123",777);
?>
이렇게 입력할 경우 권한이 410 으로 설정되고
<?
mkdir("test/test1",0777);
mkdir("test/test1/123",0777);
?>
이렇게 입력할 경우 권한이 755가 되는데
권한을 777로 만들려면 어떻게 입력해야 하는지 궁굼합니다.--->질문1)
현재 생성하려는 폴더가 웹상에 존재하는지 체크하고
없으면 폴더를 mkdir을 통해서 만들고
현재 웹상에 존재할 경우 만들지 않게 설정해야 하는데 어떻게 해야하는지 궁굼합니다.-->질문2)
mkdir("test/test1",777);
mkdir("test/test1/123",777);
?>
이렇게 입력할 경우 권한이 410 으로 설정되고
<?
mkdir("test/test1",0777);
mkdir("test/test1/123",0777);
?>
이렇게 입력할 경우 권한이 755가 되는데
권한을 777로 만들려면 어떻게 입력해야 하는지 궁굼합니다.--->질문1)
현재 생성하려는 폴더가 웹상에 존재하는지 체크하고
없으면 폴더를 mkdir을 통해서 만들고
현재 웹상에 존재할 경우 만들지 않게 설정해야 하는데 어떻게 해야하는지 궁굼합니다.-->질문2)
mkdir 함수의 2번째 인자(mode)값은 현재 서버의 umask 설정값에 의해 조정되어 집니다.
mkdir 의 mode 값을 0777 로 지정함에도 블구하고 0755 의 권한으로 디렉토리가 생성된다면
umask 의 값이 0022 로 설정되어 있기 때문입니다. (0777 - 0022 = 0755)
0777 권한의 디렉토리를 설정하려면 2가지 방법이 있습니다.
1) umask 값 변경.
umask(0);
mkdir(디렉토리명, 0777);
2) 디렉토리 생성 후 권한변경
mkdir(디렉토리명);
chmod(디렉토리명, 0777);
질문2의 답변>
디렉토리 또는 파일의 존재여부를 확인하는 file_exists() 함수를
참조하시기 바랍니다.