Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP chmod() 함수 완벽 가이드 – 파일 권한 변경 방법과 예제

PHP의 chmod() 함수는 파일이나 디렉터리의 모드(권한)를 변경하는 데 사용됩니다. 권한 변경에 성공하면 TRUE를, 실패하면 FALSE를 반환합니다.

문법(Syntax)

chmod($file_path, file_mode)

매개변수

  • file_path − 권한을 변경할 파일 또는 디렉터리의 경로를 지정합니다. (필수)

  • file_mode − 설정할 권한 모드를 나타내는 값을 지정합니다. 자세한 구성은 아래에서 설명합니다.

file_mode 매개변수의 구성

파일 모드는 다음 네 자리의 값으로 이루어집니다.

  • 첫 번째 자리: 항상 0 (8진수 표기를 위한 접두사)
  • 두 번째 자리: 소유자(owner)의 권한
  • 세 번째 자리: 소유자가 속한 그룹(group)의 권한
  • 네 번째 자리: 기타 사용자(others)의 권한

여러 권한을 동시에 설정하려면 아래 숫자들을 더해 조합하면 됩니다.

  • 1 = 실행(execute) 권한
  • 2 = 쓰기(write) 권한
  • 4 = 읽기(read) 권한

예를 들어, 읽기와 쓰기 권한을 함께 부여하려면 2 + 4 = 6을, 읽기·쓰기·실행 모든 권한을 부여하려면 1 + 2 + 4 = 7을 사용합니다.

반환값

  • 성공 시 TRUE 반환
  • 실패 시 FALSE 반환

예제

예제 1: one.txt – 소유자에게만 읽기·쓰기 권한

"one.txt" 파일의 모드를 변경하는 예제입니다. 소유자에게는 읽기·쓰기 권한을 부여하고, 그 외 사용자에게는 어떠한 권한도 주지 않습니다.

<?php
    // 파일 모드 설정
    // 소유자에게 읽기·쓰기 권한, 그 외에는 권한 없음
    chmod("one.txt", 0600);
?>

예제 2: two.txt – 소유자는 읽기·쓰기, 그 외에는 읽기만

"two.txt" 파일의 모드를 변경하는 예제입니다. 소유자에게는 읽기·쓰기 권한을, 그 외 사용자에게는 읽기 권한만 부여합니다.

<?php
    // 파일 모드 설정
    // 소유자에게 읽기·쓰기 권한, 그 외에는 읽기 권한만 부여
    chmod("two.txt", 0644);
?>

예제 3: three.txt – 소유자는 전체 권한, 그 외에는 읽기·실행

"three.txt" 파일의 모드를 변경하는 예제입니다. 소유자에게는 모든 권한을, 그 외 사용자에게는 읽기·실행 권한을 부여합니다.

<?php
    // 파일 모드 설정
    // 소유자에게 모든 권한, 그 외에는 읽기·실행 권한 부여
    chmod("three.txt", 0755);
?>

예제 4: four.txt – 소유자는 전체 권한, 그룹은 읽기만

"four.txt" 파일의 모드를 변경하는 예제입니다. 소유자에게는 모든 권한을, 소유자의 그룹에게는 읽기 권한만 부여합니다.

<?php
    // 파일 모드 설정
    // 소유자에게 모든 권한, 그룹에게 읽기 권한만 부여
    chmod("four.txt", 0740);
?>

예제 5: five.txt – 소유자는 전체 권한, 그룹은 읽기·실행

"five.txt" 파일의 모드를 변경하는 예제입니다. 소유자에게는 모든 권한을, 소유자의 그룹에게는 읽기·실행 권한을 부여합니다.

<?php
    // 파일 모드 설정
    // 소유자에게 모든 권한, 그룹에게 읽기·실행 권한 부여
    chmod("five.txt", 0750);
?>