chmod 함수

(PHP 4, PHP 5, PHP 7, PHP 8)

chmod — 파일 모드 변경


설명

chmod(string $filename, int $permissions): bool

지정된 파일의 모드를 permissions에 지정된 모드로 변경하려고 시도합니다.


매개변수

filename
파일의 경로입니다.
permissions
permissions은 자동으로 8진수 값으로 간주되지 않으므로 예상되는 작업을 보장하려면 permissions 접두사에 영(0)을 붙여야 합니다. "g+w"와 같은 문자열은 제대로 작동하지 않습니다.
                      
<?php
chmod("/somedir/somefile", 755);   // decimal; probably incorrect
chmod("/somedir/somefile", "u+rwx,go+rx"); // string; incorrect
chmod("/somedir/somefile", 0755);  // octal; correct value of mode
?>
                      
                    

permissions 매개변수는 소유자, 소유자가 속한 사용자 그룹 및 다른 모든 사람에 대한 액세스 제한을 이 순서대로 지정하는 세 개의 8진수 구성요소로 구성됩니다. 하나의 구성 요소는 해당 대상 사용자 기반에 필요한 권한을 추가하여 계산할 수 있습니다. 숫자 1은 실행 권한을 부여함을 의미하고 숫자 2는 파일을 쓰기 가능하게 만들 것을 의미하며 숫자 4는 파일을 읽을 수 있도록 만듭니다. 필요한 권한을 지정하려면 이 숫자를 더하세요. 'man 1 chmod' 및 'man 2 chmod'를 사용하여 Unix 시스템의 모드에 대해 자세히 알아볼 수도 있습니다.

                      
<?php
// Read and write for owner, nothing for everybody else
chmod("/somedir/somefile", 0600);

// Read and write for owner, read for everybody else
chmod("/somedir/somefile", 0644);

// Everything for owner, read and execute for others
chmod("/somedir/somefile", 0755);

// Everything for owner, read and execute for owner's group
chmod("/somedir/somefile", 0750);
?>
                      
                    

반환 값

성공하면 true를, 실패하면 false를 반환합니다.


오류/예외

실패 시 E_WARNING이 발생합니다.


메모

참고: 현재 사용자는 PHP가 실행되는 사용자입니다. 일반 셸이나 FTP 액세스에 사용하는 것과 같은 사용자가 아닐 수 있습니다. 모드는 대부분의 시스템에서 파일을 소유한 사용자만 변경할 수 있습니다.

참고: 검사할 파일은 서버의 파일 시스템을 통해 액세스할 수 있어야 하므로 이 함수는 원격 파일에서 작동하지 않습니다.


기타

  • chown() - 파일 소유자 변경
  • chgrp() - 파일 그룹 변경
  • fileperms() - 파일 권한을 얻습니다
  • stat() - 파일에 대한 정보를 제공합니다