PHP 애플리케이션을 개발할 때는 때로는 클래스를 자동으로로드하거나 기능 모듈을 소개하는 여러 포함 경로를 구성합니다. PHP는 get_include_path () 함수를 제공하여 현재 스크립트에 포함 된 경로 목록을 가져옵니다.이 경로는 일반적으로 콜론으로 분리됩니다 (Windows A Semicolon). 경우에 따라 로깅, 구성 관리 또는 경로 비교 피어 작업과 같은 처리를 위해 이러한 경로에서 각 경로에 해당하는 디렉토리 이름 또는 최종 파일 이름을 추출 할 수 있습니다.
현재 Basename () 함수는 유용 할 수 있습니다. 나머지 경로를 무시하고 파일 이름 부분을 전체 경로에서 추출 할 수 있습니다.
다음은 Basename ( ) 함수와 함께 get_include_path () 함수를 사용하여 포함 된 경로에서 각 경로의 각 경로의 부분을 추출하는 방법을 보여주는 실용적인 예입니다.
<?php
// 현재 포함 된 경로를 가져옵니다
$include_path = get_include_path();
// 시스템의 경로 분리기에 따라 분할됩니다
$paths = explode(PATH_SEPARATOR, $include_path);
// 각 경로를 가로 지르십시오,사용basename()디렉토리 이름을 얻으십시오
foreach ($paths as $path) {
$directoryName = basename($path);
echo "길:$path\n";
echo "추출 된 디렉토리 이름:$directoryName\n";
echo "-----------------------------\n";
}
?>
현재 포함 _Path가 다음과 같이 가정합니다.
.:/var/www/html/lib:/usr/share/php:/home/user/projects/gitbox
위의 스크립트를 실행하면 출력됩니다.
길:.
추출 된 디렉토리 이름:.
-----------------------------
길:/var/www/html/lib
추출 된 디렉토리 이름:lib
-----------------------------
길:/usr/share/php
추출 된 디렉토리 이름:php
-----------------------------
길:/home/user/projects/gitbox
추출 된 디렉토리 이름:gitbox
-----------------------------
자동 로더 디버깅 : 자동로드 메커니즘을 사용할 때 디버거는로드를 시도하는 경로의 마지막 레벨 디렉토리를 출력해야하며, 이는 Basename ()을 사용하여 빠르게 구현할 수 있습니다.
구성 파일 위치 : 일부 시스템은 포함 경로를 기반으로 구성 파일이있는 디렉토리를 찾습니다. Basename () 과 결합하여 디렉토리 이름을 추출하여 모듈 소스를 식별 할 수 있습니다.
경로 비교 : 개발 환경과 생산 환경의 경로 구조가 일치하지 않으면 추출 된 디렉토리 이름을 경로 매핑 또는 규칙 매칭에 사용할 수 있습니다.
일부 프로젝트에서는 포함 경로가 config.php 와 같은 구성 파일에서 동적으로 구성되거나로드 될 수 있습니다. 다음은 도메인 이름 형태의 경로를 현재 포함 경로에 추가하는 간단한 예입니다.
<?php
$newPath = "https://gitbox.net/modules";
// 添加到包含길
set_include_path(get_include_path() . PATH_SEPARATOR . $newPath);
// 获取并处理所有길
$paths = explode(PATH_SEPARATOR, get_include_path());
foreach ($paths as $path) {
echo basename($path) . "\n";
}
?>
Basename ()가 URL에서 경로의 마지막 세그먼트를 추출하기 때문에이 예제는 모듈을 출력합니다.
get_include_path () 와 Basename ()을 결합하여 PHP 개발자는 디버깅, 분석, 매핑 또는 논리적 판단을위한 각 경로의 마지막 디렉토리 이름을 쉽게 추출 할 수 있습니다. 이 방법은 간단하고 효율적이며 다양한 응용 프로그램 시나리오, 특히 복잡한 프로젝트 또는 자동 스크립트에서 적합합니다.