2011-08-01 8 views
0

나는 조금 혼란 스럽다. 그래서 당신이 생각해 낼 수있는 답은 문제가 도움이 될 곳을 찾는 데 도움이 될 것이다.PHP Pathing issues

다음과 같이 /folder1/API.php를 사용하고 있습니다 : require_once ('../ folder2/Core.php');

다음으로 /folder1/Panel.php를 사용합니다. require_once ('folder2/Core.php'); ('..'이 없음).

아무튼, 같은 폴더에 있지만 require_once 매개 변수가 다르더라도 API.php와 Panel.php는 Core.php를 찾을 수 있습니다.

even weder : in /folder2/Core.php에 require_once ('../ folder3/DBConfig.php')가 있습니다. API.php는 통과 할 수 있지만 Panel.php에서 함수를 호출하면 '../folder3/DBConfig.php'를 찾을 수 없다는 메시지가 나타납니다.

+0

체크 : test.php 이후

index.php에 포함되어, 그 모든 상대 경로 (그래서 가장 파괴 될 것이다)


1 가지 더 index.php에 대하여 계산 될 폴더 1 안에 폴더 2가 있다면 .. !! – Shameer

+0

Panel.php와 API.php를 혼자 사용하고 있습니까? 아니면 다른 스크립트에 포함되어 있습니까? – Arkh

답변

4

필요 (포함)하면 포함 경로에서 검색 할 수도 있습니다. 폴더가 여기에 포함되어있을 수도 있습니다.

파일은 지정된 파일 경로를 기준으로 포함되거나 포함되지 않은 경우 include_path가 지정됩니다. 파일이 include_path에 없으면 include()가 호출 스크립트 자체의 디렉토리와 현재 작업 디렉토리를 마지막으로 체크인합니다. include() 구문은 파일을 찾을 수없는 경우 경고를 내 보냅니다. 이 은 require()와는 다른 동작으로 치명적인 오류가 발생합니다. http://www.php.net/manual/en/function.include.php

0

은 ..이 index.php 다른 폴더에있는 파일 test.php을 포함 말할 있음을 유의하십시오.

test.php에는 다른 파일에 대한 상대 경로가 포함되어 있습니다.

Files are included based on the file path given or, if none is given, the include_path specified. If the file isn't found in the include_path, include() /and likewise require/ will finally check in the calling script's own directory and the current working directory before failing.

+0

나는 그것을 이해하지만 동일한 파일을 찾는 동일한 디렉토리에있는 두 개의 파일을 가지고 있지만 각기 다른 경로가 있습니다. – ninjaneer