처음 php의 includeinclude files을 사용하기 시작했을 때 아무런 문제도 발견하지 못했습니다.
천천히, 매우 심각한 문제를 발견했습니다. 예를 들면 1에서
<web>(网站根目录) ├<A>文件夹 │ │ │ └1.php ├<B>文件夹 │ │ │ └2.php └index.php
입니다. php B 디렉토리에 2.php 파일을 추가하려면 include("../B/2.php");를 사용하세요. 물론 1.php 파일을 실행하면 문제가 발생할 수 있습니다. ../B/2.php 파일을 찾을 수 없습니다. Index.php는 1.을 참조합니다.
1.php를 index.php로 컴파일하여 실행하면 1.php가 index.php와 같은 웹사이트의 루트 디렉터리에 위치하게 됩니다.
하지만 잊지 마세요. 1.php에 코드 조각을 포함시키세요. include("../B /2.php");
"../"무슨 뜻인가요? 상위 디렉토리에는 이제 1.php가 루트 디렉토리에 있는데, 이때 한 단계 위로 올라가면 2.php를 찾을 수 없으므로 여기서 문제가 발생한다. 그러면 어떻게 해결해야 할까요? 많은 사람들이 include("/B/2.php")를 생각할 것입니다. 이것은 좋지도 좋지도 않습니다. php는 우리의 jsp
와 다릅니다. include는 우리가 생각하는 것과 다릅니다. 웹 사이트의 상상된 루트 디렉토리는 현재 디렉토리를 나타내므로 여전히 작동하지 않습니다.
해결책은 없을까요? 물론 상대 경로를 사용할 수 없으므로 대신 절대 경로를 사용할 수 있습니다.
realpath("./")는 다음과 같은 현재 웹 사이트 루트 디렉터리의 절대 경로를 가져오는 데 사용됩니다. c:wampwww 웹 사이트 이름
따라서 include("../B/2.php")를 다음으로 변경할 수 있습니다. include(realpath ("./")."B/2.php");
이 경우 페이지가 어느 디렉터리에 있든 참조할 수 있으므로 걱정할 필요가 없습니다. 더 이상 경로 문제가 없습니다!
위 내용은 PHP의 포함 페이지 경로 문제에 대한 솔루션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!