나는 inc.php라는 경로에 파일의 index.php와 같은 디렉토리에 inc.php라는 다른 파일을 가지고 있고, index.php를에 내가 포함됩니다 파일파일이 경로 및 로컬 디렉토리에있을 때 어떤 파일이 포함됩니까?
include('inc.php')
을 배치하면?
나는 inc.php라는 경로에 파일의 index.php와 같은 디렉토리에 inc.php라는 다른 파일을 가지고 있고, index.php를에 내가 포함됩니다 파일파일이 경로 및 로컬 디렉토리에있을 때 어떤 파일이 포함됩니까?
include('inc.php')
을 배치하면?
include를 수행하면 PHP는 include 경로의 각 항목을 검색하여 찾을 때까지 파일의 존재 여부를 확인합니다. 그러면 include 경로에 해당 항목의 파일이 포함됩니다.
일반적으로 포함 경로에 있습니다. (현재 작업 디렉토리)를 첫 번째 항목으로 사용합니다.
그래서 include_path를 변경하지 않은 경우. 는 더 이상 첫 번째 항목이 아니며 현재 작업 디렉토리 의 파일을 포함합니다.은 include_path에서 찾은 파일의 첫 번째 복사본이기 때문입니다.
으로는 include()
기능 설명서에 볼 수 있습니다 : 파일이 의 include_path에 발견되지 않는 경우
()이 포함됩니다 마지막으로 호출하는 스크립트 자신의 디렉토리에 체크하고 현재 작업 실패하기 전에 디렉토리.
그래서 include_path
는 먼저 현재 디렉토리를 검색한다 (그러나이, 내부 .
이다 어쩌면 처음은 서버 구성에 따라 달라집니다 경우 include_path
는 현재 디렉토리를 포함 할 수있다).
그래서 로컬 디렉토리는 PHP의 모양을 마지막 장소 사용 (f.e.) 모양을 당신의 경로를 포함 보려면? – Lars
다른 말했듯이 (그리고 나는 내 대답에 추가) 로컬 디렉토리는 include_path에 있어야하며 첫 번째 항목 일 수도 있지만 현재 설정에 따라 다릅니다. –
PHP는 include path
을 왼쪽에서 오른쪽으로 그리고 모든 폴더에 대해 이와 같은 이름의 파일이 해당 폴더에 존재하는지 확인합니다.
첫 번째 발견 된 내용이 포함됩니다.
경로를 포함하면 ".:/some/dir/:/some/other/dir"
처럼 보이며 현재 폴더에서 먼저 찾습니다. 그런 다음 다른 것이 없는지 확인하십시오.
일반적으로 파일은 같은 폴더에 포함됩니다.
는 echo ini_get("include_path");
코드 예제를 이용해 주셔서 테스트 해 보았습니다. :) – Lars
귀하의 설명이 제 것보다 낫습니다. +1 – edorian