chmod() 함수는 파일 모드를 변경합니다. chmod — 파일 모드를 변경합니다. 성공하면 TRUE를 반환하고 그렇지 않으면 FALSE를 반환합니다.
구문
chmod(file,mode) 매개변수 설명
file 필수입니다. 확인할 문서를 지정합니다.
모드는 선택사항입니다. 새 권한을 지정합니다.
모드 매개변수는 4개의 숫자로 구성됩니다.
첫 번째 숫자는 항상 0입니다.
두 번째 숫자는 소유자의 권한을 지정합니다.
두 번째 숫자는 소유자가 속한 사용자 그룹의 권한을 지정합니다.
네 번째 숫자는 다른 모든 사람을 지정합니다.
가능한 값 (여러 권한을 설정해야 하는 경우 아래 숫자의 합을 계산하세요):
1 - 실행 권한
2 - 쓰기 권한
4 - 읽기 권한
간단한 예를 살펴보겠습니다.
<?php chmod("/somedir/somefile", 755); // 十进制数,可能不对 chmod("/somedir/somefile", "u+rwx,go+rx"); // 字符串,不对 chmod("/somedir/somefile", 0755); // 八进制数,正确的 mode 值 ?>
향상된 재귀 파일 패턴 @ infosoft...., Linux 파일 시스템의 모든 파일 유형을 처리해야 하는 약간 짧습니다. 이렇게 하면 파일이나 디렉터리의 권한을 일괄 변경할 수 있습니다.
<?php function chmodr($path, $filemode) { if (!is_dir($path)) return chmod($path, $filemode); $dh = opendir($path); while (($file = readdir($dh)) !== false) { if($file != '.' && $file != '..') { $fullpath = $path.'/'.$file; if(is_link($fullpath)) return FALSE; elseif(!is_dir($fullpath) && !chmod($fullpath, $filemode)) return FALSE; elseif(!chmodr($fullpath, $filemode)) return FALSE; } } closedir($dh); if(chmod($path, $filemode)) return TRUE; else return FALSE; } ?>
디렉토리가 너무 많으면
<?php $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($pathname), RecursiveIteratorIterator::SELF_FIRST); foreach($iterator as $item) { chmod($item, $filemode); } ?>
이 코드를 사용하여 디렉터리의 권한을 수정할 수 있습니다.
하하, 우리는 chmod의 간단한 구문에 대해서만 이야기하는 것이 아니라 복잡한 chmod도 수행합니다. 사용법 예
설명
bool chmod (string $filename, int $mode)
filename으로 지정된 파일의 모드를 mode로 지정된 모드로 변경해 보세요.
모드는 자동으로 8진수 값으로 처리되지 않으며 문자열(예: "g+w")일 수 없습니다. 올바른 작동을 보장하려면 모드 앞에 0을 추가해야 합니다.
모드 매개변수에는 소유자, 소유자 그룹, 모든 사람의 액세스 제한을 순서대로 지정하는 3개의 8진수가 포함되어 있습니다. 각 부분은 필요한 권한을 추가하여 계산할 수 있습니다. 숫자 1은 파일을 실행 가능하게 만들고, 숫자 2는 파일을 쓰기 가능하게 만들고, 숫자 4는 파일을 읽을 수 있게 만듭니다. 필요한 권한을 지정하려면 다음 번호를 추가하세요. UNIX 시스템의 파일 권한에 대한 자세한 내용은 "man 1 chmod" 및 "man 2 chmod" 설명서를 참조하세요.
<?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를 반환합니다.
참고: 현재 사용자는 PHP를 실행하는 사용자를 나타냅니다. 일반적인 쉘 또는 FTP 사용자와 동일하지 않을 가능성이 높습니다. 대부분의 시스템에서 파일 모드는 파일을 소유한 사용자만 변경할 수 있습니다.
참고: 이 기능은 원격 파일에서는 사용할 수 없습니다. 검사 중인 파일은 서버의 파일 시스템을 통해 액세스해야 합니다.
참고: 안전 모드가 켜져 있으면 PHP는 작업 중인 파일이 실행 중인 스크립트와 동일한 UID(소유자)를 가지고 있는지 확인합니다. SUID, SGID 및 고정 비트는 수정할 수 없습니다.
위 내용은 PHP의 파일 권한 기능 chmod에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!