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

PHP ftp_chmod() 함수 – FTP로 원격 파일 권한 설정하는 방법

ftp_chmod() 함수는 FTP를 통해 원격 서버에 있는 파일의 권한(permission)을 설정하는 데 사용됩니다. 이 함수를 활용하면 서버에 직접 접속하지 않고도 파일의 읽기·쓰기·실행 권한을 손쉽게 변경할 수 있습니다.

문법

ftp_chmod(con, mode, my_file);

매개변수

  • con − FTP 연결 리소스입니다.

  • mode − 새로 설정할 권한 값입니다.

    권한은 네 자리 숫자로 구성되며 각 자릿수는 다음과 같은 의미를 가집니다.

    • 첫 번째 숫자는 항상 0입니다.

    • 두 번째 숫자는 소유자(OWNER)의 권한을 지정합니다.

    • 세 번째 숫자는 소유자가 속한 그룹(USER GROUP)의 권한을 지정합니다.

    • 네 번째 숫자는 그 외 모든 사용자(EVERYBODY ELSE)의 권한을 지정합니다.

  • 각 자릿수에 들어갈 수 있는 값은 다음과 같습니다. 여러 권한을 동시에 부여하려면 해당 숫자들을 더해서 조합하면 됩니다.

    • 1 = 실행(execute) 권한

    • 2 = 쓰기(write) 권한

    • 4 = 읽기(read) 권한

  • my_file − 권한을 변경할 대상 파일 이름입니다.

반환값

ftp_chmod() 함수는 성공 시 새로 설정된 파일 권한을 반환하고, 오류가 발생하면 FALSE를 반환합니다.

예제

다음은 mode 값을 변경하여 원격 파일의 권한을 설정하는 예제입니다.

<?php
    $ftp_server="192.168.0.4";
    $ftp_user="amit";
    $ftp_pass="tywg61gh";
    $myfile = "E:/new/demo.txt";
    $con = ftp_connect($ftp_server);
    $res = ftp_login($con, $ftp_user, $ftp_pass);
    if (ftp_chmod($con, 0755, $myfile) !== false) {
        echo "Mode changed successfully! \n";
    } else {
        echo "Mode cannot be changed! \n";
    }
    ftp_close($con);
?>

예제 해설

위 코드에서는 먼저 ftp_connect()ftp_login()으로 FTP 서버에 연결하고 로그인한 뒤, ftp_chmod($con, 0755, $myfile)를 호출해 파일 권한을 0755로 변경합니다. 여기서 0755는 소유자에게 읽기·쓰기·실행 권한을, 그룹과 기타 사용자에게는 읽기·실행 권한만 부여하는 일반적인 설정값입니다. 작업이 끝나면 ftp_close()로 FTP 연결을 반드시 종료해야 합니다.