2011-03-11 2 views

답변

4

include를 수행하면 PHP는 include 경로의 각 항목을 검색하여 찾을 때까지 파일의 존재 여부를 확인합니다. 그러면 include 경로에 해당 항목의 파일이 포함됩니다.

일반적으로 포함 경로에 있습니다. (현재 작업 디렉토리)를 첫 번째 항목으로 사용합니다.

그래서 include_path를 변경하지 않은 경우. 는 더 이상 첫 번째 항목이 아니며 현재 작업 디렉토리 의 파일을 포함합니다.은 include_path에서 찾은 파일의 첫 번째 복사본이기 때문입니다.

+0

귀하의 설명이 제 것보다 낫습니다. +1 – edorian

1

으로는 include() 기능 설명서에 볼 수 있습니다 : 파일이 의 include_path에 발견되지 않는 경우

()이 포함됩니다 마지막으로 호출하는 스크립트 자신의 디렉토리에 체크하고 현재 작업 실패하기 전에 디렉토리.

그래서 include_path는 먼저 현재 디렉토리를 검색한다 (그러나이, 내부 .이다 어쩌면 처음은 서버 구성에 따라 달라집니다 경우 include_path는 현재 디렉토리를 포함 할 수있다).

+0

그래서 로컬 디렉토리는 PHP의 모양을 마지막 장소 사용 (f.e.) 모양을 당신의 경로를 포함 보려면? – Lars

+0

다른 말했듯이 (그리고 나는 내 대답에 추가) 로컬 디렉토리는 include_path에 있어야하며 첫 번째 항목 일 수도 있지만 현재 설정에 따라 다릅니다. –

2

PHP는 include path을 왼쪽에서 오른쪽으로 그리고 모든 폴더에 대해 이와 같은 이름의 파일이 해당 폴더에 존재하는지 확인합니다.

첫 번째 발견 된 내용이 포함됩니다.

경로를 포함하면 ".:/some/dir/:/some/other/dir"처럼 보이며 현재 폴더에서 먼저 찾습니다. 그런 다음 다른 것이 없는지 확인하십시오.

일반적으로 파일은 같은 폴더에 포함됩니다.

echo ini_get("include_path");

+0

코드 예제를 이용해 주셔서 테스트 해 보았습니다. :) – Lars

관련 문제