개발 중에는 파일의 상위 디렉토리 경로, 특히 파일 작동 및 경로 처리와 같은 시나리오에서 종종 파일의 상위 디렉토리 경로를 얻어야합니다. 파일의 상위 디렉토리를 쉽고 빠르게 얻는 방법을 이해하는 것이 특히 중요합니다. PHP는 파일의 상위 디렉토리 경로를 얻기 위해 매우 간단하고 실용적인 기능 -Dirname () 을 제공합니다. 이 기사는 Dirname () 함수의 사용법과 공통 응용 프로그램의 사용을 분석합니다.
Dirname ()은 파일의 상위 디렉토리 경로를 가져 오는 PHP의 내장 함수입니다. 이 함수는 주어진 경로에서 디렉토리 부분을 반환하며 일반적으로 파일이 전체 경로에서 상주하는 폴더를 추출하는 데 사용됩니다.
함수 구문 :
<span><span><span class="hljs-title function_ invoke__">dirname</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$path</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$levels</span></span><span> = </span><span><span class="hljs-number">1</span></span><span>): </span><span><span class="hljs-keyword">string</span></span><span>
</span></span>
$ 경로 : 완전한 파일 경로를 나타내야합니다.
$ 레벨 : 선택 사항, 반환 할 부모 디렉토리의 계층 수를 지정하면 기본값은 1입니다. $ 레벨 값이 2 인 경우 부모 디렉토리의 상위 디렉토리가 반환됩니다.
가장 일반적인 사용 시나리오는 파일의 직접 상위 디렉토리를 얻는 것입니다. 파일 path /var/www/html/index.php 가 있다고 가정하면 Dirname () 함수를 사용하여 부모 디렉토리 /var/www/html 을 쉽게 얻을 수 있습니다.
샘플 코드 :
<span><span><span class="hljs-variable">$file_path</span></span><span> = </span><span><span class="hljs-string">'/var/www/html/index.php'</span></span><span>;
</span><span><span class="hljs-variable">$parent_dir</span></span><span> = </span><span><span class="hljs-title function_ invoke__">dirname</span></span><span>(</span><span><span class="hljs-variable">$file_path</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$parent_dir</span></span><span>; </span><span><span class="hljs-comment">// 산출: /var/www/html</span></span><span>
</span></span>
위의 코드에서 Dirname ()는 파일 index.php 의 부모 디렉토리 경로 /var/www/html을 반환합니다.
때로는 파일이 더 높은 곳에서 디렉토리를 가져와야합니다. $ 수준 매개 변수를 설정하면 반환 된 상위 디렉토리 수준을 제어 할 수 있습니다. 예를 들어, index.php 의 상위 디렉토리의 상위 디렉토리를 가져옵니다.
샘플 코드 :
<span><span><span class="hljs-variable">$file_path</span></span><span> = </span><span><span class="hljs-string">'/var/www/html/index.php'</span></span><span>;
</span><span><span class="hljs-variable">$parent_dir_level2</span></span><span> = </span><span><span class="hljs-title function_ invoke__">dirname</span></span><span>(</span><span><span class="hljs-variable">$file_path</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$parent_dir_level2</span></span><span>; </span><span><span class="hljs-comment">// 산출: /var/www</span></span><span>
</span></span>
이 예에서 Dirname ($ file_path, 2)은 /var /www , 즉 파일의 상위 디렉토리의 상위 디렉토리를 반환합니다.
경우에 따라 현재 PHP 스크립트가 위치한 디렉토리 경로를 가져 오려고합니다. 특히 파일을 처리하거나 경로 계산을 수행 할 때. 우리는 __file__ 상수와 dirname () 함수의 조합을 통해이 요구 사항을 달성 할 수 있습니다.
샘플 코드 :
<span><span><span class="hljs-variable">$current_file</span></span><span> = </span><span><span class="hljs-keyword">__FILE__</span></span><span>;
</span><span><span class="hljs-variable">$parent_dir</span></span><span> = </span><span><span class="hljs-title function_ invoke__">dirname</span></span><span>(</span><span><span class="hljs-variable">$current_file</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$parent_dir</span></span><span>;
</span></span>
__file__ 현재 스크립트의 절대 경로를 반환하고 dirname () 과 결합하면 현재 스크립트의 상위 디렉토리 경로를 얻을 수 있습니다.
Dirname () 은 종종 다른 경로 조작 기능, 특히 상대 경로를 구축하거나 파일 시스템을 처리 할 때 사용됩니다. Dirname () 을 통해 파일 경로를 쉽게 처리 할 수 있습니다.
샘플 코드 :
<span><span><span class="hljs-variable">$file_path</span></span><span> = </span><span><span class="hljs-string">'/var/www/html/index.php'</span></span><span>;
</span><span><span class="hljs-variable">$parent_dir</span></span><span> = </span><span><span class="hljs-title function_ invoke__">dirname</span></span><span>(</span><span><span class="hljs-variable">$file_path</span></span><span>);
</span><span><span class="hljs-variable">$full_path</span></span><span> = </span><span><span class="hljs-variable">$parent_dir</span></span><span> . </span><span><span class="hljs-string">'/assets/style.css'</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$full_path</span></span><span>; </span><span><span class="hljs-comment">// 산출: /var/www/html/assets/style.css</span></span><span>
</span></span>
여기서 Dirname () 을 통해 Index.php 의 부모 디렉토리를 얻은 다음 하위 디렉토리 파일 경로를 스플릿 한 다음 새 파일 경로를 생성합니다.
Dirname () 함수는 경로 끝에 슬래시가 있는지 여부에 매우 민감합니다. 경로 끝에 슬래시가 있으면 자동으로 제거됩니다. 예를 들어, Dirname ( '/var/www/html/')은 /var/www를 반환합니다.
Dirname ()를 사용할 때, 특히 Linux 및 Windows와 같은 시스템간에 포팅 할 때 경로의 경우에주의하십시오.
경로가 유효하지 않거나 존재하지 않는 경우 Dirname ()는 여전히 유효한 상위 디렉토리 경로를 반환하지만 실제 디렉토리는 아닐 수 있습니다.
Dirname () 은 간단하지만 매우 실용적인 PHP 기능으로 개발자가 파일의 상위 디렉토리 경로를 신속하게 얻을 수 있도록 도와줍니다. 이 기능을 합리적으로 사용하면 파일 경로를 쉽게 처리하여 코드의 유지 관리 및 이식성을 향상시킬 수 있습니다. 현재 스크립트 디렉토리를 동적으로 가져 오거나 멀티 레이어 디렉토리 구조를 처리하든 Dirname () 는 가치있는 도구입니다.