PHP 프로그램을 작성할 때 다른 파일을 포함하기 위해 include 또는 require를 사용하는 경우가 많습니다. 그러나 각 파일에 너무 많은 파일이 포함되면 경로 문제가 발생합니다.
다음 디렉토리:
├폴더
│ │
│ └1.php
├폴더
│ │
│ └2.php
└index.php
이제 루트 디렉터리의 index.php는 A 폴더에 1.php 파일을 포함해야 하며 그런 다음 include "./A/1.php"를 사용해야 합니다.
폴더 1의 1.php는 폴더 B의 2.php를 포함하고, 1.php에 include "../B/2.PHP"를 작성합니다
그러나 index.php에 1.php가 포함되면 index.php에서 컴파일이 수행됩니다. 즉, index.php에 포함된 파일의 포함이 index.php에 상대적인 다음 1.php에 상대적이라는 점을 알아야 합니다. index.php에 포함되어 있으면 index.php를 기준으로 2.php를 찾아야 합니다. 위에서 언급했듯이 1.php에 작성된 내용은 "../B/2.php"입니다. 이제 컴파일된 파일은 웹사이트의 루트 디렉터리에 상대적입니다(즉, index.php에 상대적임). ../"는 검색을 위해 상위 디렉터리로 돌아가야 하는데 어떻게 찾을 수 있다는 뜻인가요?
저도 인터넷에서 몇 가지 방법을 찾아봤는데, 가장 좋은 방법은 절대 경로 방법을 이용하는 것입니다. 단일 항목 파일을 정의하고, 포함할 파일을 포함하고, 상수 정의("__ROOT__",dirname(__FILE__));를 정의한 다음 후속 파일을 작성하는 과정에서 절대 방법만 사용하고 __ROOT__을 추가하세요. 그게 전부입니다.