19'C 흐림
서울 강남구
bool mkdir ( string $pathname [, int $mode= 0777] )
해당하는 경로 안에 디렉토리를 생성해야할 경우 mkdir 함수를 사용합니다. 이 함수는 해당 경로 안에 새로운 디렉토리를 만듭니다.
$pathname 인자에는 생성할 경로명을 지정하고, $mode 인자에는 퍼미션(권한설정)을 지정합니다. $mode 를 생략할 경우 기본값 0755로 자동 지정되며, 윈도우에서는 동작하지 않습니다.
디렉토리 생성에 성공하면 true를 반환하고, 실패하면 PHP 오류를 표시하게 됩니다. 그러므로 mkdir 함수 앞에 @를 붙여서 오류 코드가 표시되지 않도록 하여 보안 유효성을 높여 줘야 합니다.
디렉토리 생성실패에는 이유가 몇 가지있습니다.
존재하지 않는 경로이거나 상위디렉토리의 권한이 0707, 0777이 아니거나 디렉토리가 이미 생성되어 있으면 PHP 오류코드를 표시하게 됩니다. 권한 문제의 경우 Owner(오너)와 Public(유저)에게 쓰기권한이 없을 때 오류가 나타납니다. 쓰기권한이 있어야 생성하니까요.
설 명 | |||
---|---|---|---|
Owner(소유자) | Group(그룹) | Public(유저) | |
Read(읽기) | 400 (R) | 40 (R) | 4 (R) |
Write(쓰기) | 200 (W) | 20 (W) | 2 (W) |
Execute(실행) | 100 (X) | 10 (X) | 1 (X) |
Permission(권한 | 700 (RWX) | 70 (RWX) | 7 (RWX) |
권한을 설정할 때 주의할 점은 8진수로 작성해야 한다는 점입니다. 777로 권한을 처리하고자 한다면 앞자리에 0을 추가해서 0777로 하면 자동으로 8진수로 처리하게 됩니다. 그리고 작은따옴표('')나 큰 따옴표("")로 감싸 주어서도 안 됩니다. 반드시 8진수로 작성해야 합니다.