현재 위치: > 최신 기사 목록> get_include_path ()를 사용하여 set_include_path ()를 사용하여 크로스 디렉토리 파일 가져 오기를 구현하십시오.

get_include_path ()를 사용하여 set_include_path ()를 사용하여 크로스 디렉토리 파일 가져 오기를 구현하십시오.

gitbox 2025-05-26

PHP 개발에서 프로젝트 구조에는 일반적으로 여러 하위 디렉토리가 포함되어 있으며 파일 소개 및 관리가 복잡해집니다. 많은 상대 경로 사용하여 파일을 소개하지 않기 위해 PHP는 두 가지 매우 실용적인 기능을 제공합니다.

이 기사는이 두 기능의 기능과 사용법을 자세히 소개하고 예제를 사용하여 간과 파일 소개를 효율적으로 관리하는 방법을 설명합니다.

1. includ_path의 개념

include_path 는 PHP의 구성 옵션으로, 실행할 때 PHP가 파일을 검색하는 경로 목록을 지정합니다 . 합리적인 include_path를 설정하면 복잡한 상대 경로를 쓰지 않으려면 또는 동일한 파일이 여러 곳에서 참조 될 때 코드를 크게 단순화 할 수 있습니다.

2. get_include_path () 및 set_include_path ()의 함수

  • get_include_path ()
    현재 PHP 런타임의 include_path 구성 값을 반환합니다.

  • set_include_path (String $ new_include_path)
    현재 PHP 런타임의 include_path를 설정하고 새 경로 문자열로 바꾸십시오.

3. 예제를 사용하십시오

프로젝트 디렉토리 구조가 다음과 같습니다.

 /project
    /libs
        helper.php
    /modules
        moduleA.php
    index.php

Helper.php 는 일부 공개 기능 인 경우 Modulea.php는 Helper.php 를 참조해야하며 Index.php는 입력 파일입니다.

상대 경로 참조를 직접 사용하는 경우 :

 // moduleA.php
include '../libs/helper.php';

파일 경로가 변경되면 참조 경로를 수정해야하며 더 번거 롭습니다.

1. includ_path를 설정합니다

Index.php 에서는 contact_path를 설정하여 PHP가 지정된 디렉토리에서 파일을 자동으로 찾을 수 있도록합니다.

 <?php
// index.php
// 현재를 얻으십시오 include_path
$current_path = get_include_path();

// 새로운 /libs 디렉토리 include_path 가운데
$new_path = $current_path . PATH_SEPARATOR . __DIR__ . '/libs';

// 새로운 것을 설정하십시오 include_path
set_include_path($new_path);

// 그 후에는 직접 할 수 있습니다 moduleA.php 가운데 include 'helper.php',상대 경로를 작성할 필요가 없습니다
?>

2. 모듈 파일로 직접 가져옵니다

 <?php
// moduleA.php
include 'helper.php';  // PHP 여기있을 것입니다 include_path 가운데寻找 helper.php
?>

3. 실제 테스트

Helper.php 에 간단한 기능을 작성하십시오.

 <?php
// helper.php
function greet($name) {
    return "Hello, $name!";
}
?>

modulea.php :

 <?php
include 'helper.php';
echo greet('World');
?>

run index.php , php는 /libs 디렉토리에 helper.php 를 포함하여 include_path를 설정하고 성공적으로 호출하기 때문에 Helper.php를 찾을 수 있습니다.

4. 주목할만한 것들

  1. 다중 경로 분리기 <br> Linux/Unix에는 Windows에서 Semicolon ( ; )을 사용하지만 PHP Constant Path_Separator는 자동으로 적응되며 사용하는 것이 좋습니다 .

  2. 상대 경로와 절대 경로 <br> 경로 해상도 오류를 피하기 위해 절대 경로 (예 : __dir__. '/libs' )를 사용하는 것이 좋습니다.

  3. 동적 설정 vs php.ini 구성 <br> php.ini 에서 include_path를 직접 구성 할 수도 있지만 프로젝트의 동적 설정은 더 유연합니다.

  4. 안전 고려 사항 <br> include_path 에 신뢰할 수없는 경로를 추가하지 않도록 코드가 주입되거나 악의적 인 파일이 포함되지 않도록하십시오.

5. 요약

  • get_include_path ()를 사용하여 현재 검색 경로를 얻으십시오.

  • set_include_path () 를 통해 include_path에 디렉토리를 추가하여 간과 파일 소개를 구현하십시오.

  • 포함 또는 요구를 사용하여 복잡한 상대 경로를 작성할 필요가 없으며 코드는 명확하고 유지 관리가 쉽습니다.

  • 파일을 정확하게 찾을 수 있도록 절대 경로와 함께 사용하십시오.

참조 링크