set_include_path 및 get_include_path 사용법에 대한 자세한 설명

WBOY
풀어 주다: 2016-07-28 08:25:59
원래의
980명이 탐색했습니다.

기사는 http://blog.sina.com.cn/s/blog_4ce89f200100twbl.html에서 재현됩니다.

먼저 set_include_path 함수를 사용하여 동적으로 수정합니다. .ini의 스크립트 include_path에 있는 PHP가 수정되었습니다.
이 include_path는 다음과 같은 include 및 require 경로 범위로 제한되거나 미리 정의될 수 있습니다.

은 다음과 같습니다.
이 값을 설정하지 않으면 아마도 일부 완전한 경로를 작성해야 합니다:

include("123/test1.php");
include("123/test2.php");
include("123/test3.php");
require("123/test4.php");
require("123/test5.php");
?> ;
많은 외부 파일을 소개하지만 set_include_path("123/")를 설정하면 다음을 사용할 수 있습니다. 대신 코드 조각을 사용하세요.

set_include_path("123/");
include("test1.php");
include("test2.php");
include("test3.php");
require("test4 .php");
require("test5.php");
?>
include 또는 require 작업이 실행되면 include_path에 지정된 경로를 검색하여 가져올 파일을 검색하게 되지만 이것이 성능을 최적화할지 여부는 확실합니다. 일부 코드를 저장할 수 있습니다. 하하~
그래서 처음에는 추가해도 똑같을 줄 알았는데, 밑에 사본 파일 하나만 넣었기 때문이죠. 폴더.
나중에 드디어 미스터리를 발견했어요! 한심한 건 인터넷에 저 같은 글이 하나도 없다는 거에요... 같은 글이 계속해서 올라오고 있거든요.
그러면 이 함수는 폴더를 정의할 수 있을 뿐만 아니라 여러 폴더를 정의할 수도 있습니다. 아래와 같이 초기화 함수를 작성하고 싶습니다:
>{ set_include_path(get_include_path().PATH_SEPARATOR ."core/" );

set_include_path(get_include_path().PATH_SEPARATOR ."app/");
set_include_path(get_include_path().PATH_SEPARATOR ."admin/");
set_include_path(get_include_path().PATH_SEPARATOR ."lib/");
set_include_path( get_include_path().PATH_SEPARATOR ."include/");
set_include_path( get_include_path().PATH_SEPARATOR."data/");
set_include_path(get_include_path().PATH_SEPARATOR."cache/"); }
이렇게 하면 경로는

이 됩니다.; C:php5pear;core/;app/;admin/;lib/;include/ ;data/;cache/
야, 앞에 하나 더 찾았어 ;C:php5pear;도대체 무슨 일이 일어나고 있는 걸까요? 실제로, include_path의 기본값을 작성하지 않고 출력하면 그 값이 표시된다는 것을 알 수 있습니다.;C:php5pear; 가져온 파일에.
더 많은 폴더가 로드된다면 파일명을 직접 적어주시면 됩니다!
그런데 원래 질문처럼 우리 회사의 코드는 왜 남의 코드와 다른가요?
set_include_path(dirname(__FILE__));
그런 다음 다른 폴더에서 파일을 가져올 때 지정한 폴더에서 파일을 찾을 수 없다는 오류가 보고됩니다.
먼저 다른 방법으로 출력해 보겠습니다.

set_include_path(dirname(__FILE__));
$include_value = ini_get('include_path');
echo $include_value;
?>
결과는 다음과 같습니다. D:AppServwww
www에 가서 test4.php 파일을 찾으면, 오류가 보고되지 않습니다
include("test4.php");
하지만
include("test1.php")
에서 오류를 보고합니다.
경고: include() [function.include]: 실패 D:AppServwwwtest.php온라인6
에서 포함(include_path='D:AppServwww')을 위한 'test1.php' 열기 그리고 .;C:php5pear;가 교체된 것도 발견했습니다. 그래서 우리가 사용할 때 한 폴더의 파일만 소개하는 것이 아니라면 get_include_path().PATH_SEPARATOR를 추가해야 합니다.
설명:
get_include_path() 기본값을 가져오는 것입니다. 현재 include_path 값
PATH_SEPARATOR입니다. 포함 경로 경계와 일치하는 상수입니다. Windows에서는 다음과 같습니다.
마지막으로 말씀드리고 싶습니다. 실제로, 다른 방법을 사용할 수도 있습니다. 가장 독창적인 방법:
ini_set('include_path', '디렉터리 이름')
또한 주의할 점은 다음 두 가지입니다.
지정된
디렉터리 파일에서 필요한 콘텐츠를 찾을 수 없는 경우, 이 이름을 가진 파일이 현재 페이지 디렉토리에 존재하면 기본적으로 현재 디렉토리의 파일을 가져옵니다.
include_path로 여러 디렉터리를 지정한 경우, 모두 포함되어야 하는 파일은 이 디렉터리에 동일한 이름을 가진 파일이 있으며, PHP는 include_path가 설정될 때 순위가 가장 높은 디렉터리의 파일을 사용하도록 선택합니다.


위에는 관련 내용을 포함하여 set_include_path와 get_include_path의 자세한 사용법을 소개하고 있으니 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!