PHP 프로그래밍에서 파일 유형 심사, 파일 속성 수정 등을 포함하여 파일에서 다양한 작업을 수행해야합니다. 기호 링크 처리를 위해 PHP는 lchgrp () 함수 및 is_link () 함수를 제공합니다. 우리는이 두 기능을 결합하여 기호 링크를 판단하고 그룹 소유권을 수정할 수 있습니다. 다음으로, 우리는이 두 기능을 사용하여 상징적 링크를 처리하고 그룹 소유권을 변경하는 방법을 자세히 설명합니다.
LCHGRP () 함수는 파일 또는 디렉토리의 그룹 소유권을 변경하는 데 사용됩니다. 구문은 다음과 같습니다.
<span><span><span class="hljs-title function_ invoke__">lchgrp</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$filename</span></span><span>, </span><span><span class="hljs-keyword">mixed</span></span><span> </span><span><span class="hljs-variable">$group</span></span><span>): </span><span><span class="hljs-keyword">bool</span></span><span>
</span></span>$ filename : 그룹 소유권이 변경 될 파일 또는 디렉토리의 경로를 지정합니다.
$ 그룹 : 변경할 대상 그룹을 지정합니다. 그룹 이름 또는 그룹 ID의 문자열 일 수 있습니다.
이 함수와 chgrp () 함수의 차이점은 lchgrp ()가 상징적 링크를 따르지 않고 기호 링크 자체에서만 작동하는 반면, chgrp ()는 상징적 링크를 따르고 상징적 링크가 지적한 대상 파일의 그룹 소유권을 수정한다는 것입니다.
IS_LINK () 함수는 지정된 경로가 기호 링크인지 여부를 결정하는 데 사용됩니다. 구문은 다음과 같습니다.
<span><span><span class="hljs-title function_ invoke__">is_link</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$filename</span></span><span>): </span><span><span class="hljs-keyword">bool</span></span><span>
</span></span>$ filename : 확인할 파일 경로.
반환 값 : 경로가 상징적 링크 인 경우 TRUE 리턴; 그렇지 않으면 false 를 반환합니다.
IS_LINK () 및 LCHGRP () 함수를 조합하여 사용하여 파일이 상징적 링크인지 확인하고 상징적 링크임을 확인한 후 그룹 소유권을 변경할 수 있습니다. 다음은이 기능을 구현하기위한 특정 단계 및 코드 예제입니다.
먼저 IS_LINK () 함수를 사용하여 지정된 파일이 상징적 링크인지 확인합니다. 상징적 링크 인 경우 True 를 반환하십시오. 그렇지 않으면 False를 반환하십시오.
Symlink인지 확인되면 LCHGRP () 함수를 사용하여 Symlink의 그룹 소유권을 변경할 수 있습니다. LCHGRP () 함수는 상징적 링크 자체의 그룹을 직접 수정하고 링크를 따르지 않아 대상 파일의 그룹을 수정하지 않습니다.
다음은 IS_LINK () 및 LCHGRP () 의 조합을 사용하여 기호 링크를 결정하고 그룹 소유권을 변경하는 PHP 샘플 코드입니다.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 파일 경로를 설정하십시오</span></span><span>
</span><span><span class="hljs-variable">$file</span></span><span> = </span><span><span class="hljs-string">'/path/to/symbolic/link'</span></span><span>;
</span><span><span class="hljs-comment">// 대상 그룹 설정</span></span><span>
</span><span><span class="hljs-variable">$group</span></span><span> = </span><span><span class="hljs-string">'newgroup'</span></span><span>;
</span><span><span class="hljs-comment">// 파일이 상징적 링크인지 확인하십시오</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_link</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"이것은 상징적 링크입니다,그룹 소유권이 수정되고 있습니다...\n"</span></span><span>;
</span><span><span class="hljs-comment">// 사용lchgrp함수 기호 링크의 그룹 소유권을 수정합니다</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">lchgrp</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>, </span><span><span class="hljs-variable">$group</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"그룹 소유권이 성공적으로 변경되었습니다: <span class="hljs-subst">$group</span></span></span><span>\n";
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"그룹 소유권을 변경하지 못했습니다。\n"</span></span><span>;
}
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"이 파일은 상징적 링크가 아닙니다。\n"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>파일 경로 설정 : 먼저 파일 경로를 설정하여 결정합니다. 경로가 상징적 인 링크를 가리 키십시오.
상징적 링크 여부를 결정하십시오 : IS_LINK ()를 사용하여 파일이 상징적 링크인지 확인하십시오. 상징적 링크 인 경우 후속 작업을 수행하십시오.
그룹 소유권 변경 : LCHGRP ()를 사용하여 기호 링크의 그룹 소유권을 변경하십시오. LCHGRP ()는 기호 링크 자체 만 수정하며 가리키는 대상 파일의 그룹 소유권을 수정하지 않습니다.
오류 처리 : LCHGRP () 함수가 실행되지 않으면 오류 메시지가 출력됩니다.
IS_LINK () 및 LCHGRP () 함수를 결합함으로써 PHP는 파일이 상징적 링크인지를 결정하고 그룹 소유권을 수정하는 편리한 방법을 제공합니다. IS_LINK ()를 사용하면 상징적 링크를 정확하게 식별 할 수 있지만 LCHGRP ()를 사용하면 상징적 링크의 그룹 소유권을 직접 수정할 수 있습니다. 이는 파일 권한을 관리하고 파일 시스템을 구성 해야하는 개발자에게는 매우 실용적인 기술입니다.