>  기사  >  백엔드 개발  >  PHP에서 set_include_path() 함수 사용법에 대한 자세한 설명

PHP에서 set_include_path() 함수 사용법에 대한 자세한 설명

墨辰丷
墨辰丷원래의
2018-06-01 17:24:111679검색

이 글은 주로 PHP에서 set_include_path() 함수의 관련 사용법을 소개하고, 파일 경로 설정을 위한 PHP의 관련 기술을 예제 형식으로 분석합니다. 필요한 참조 값이 있습니다.

Look 먼저 다음 코드에서:

<?php
/** 定义根目录 */
define(&#39;__TYPECHO_ROOT_DIR__&#39;, dirname(__FILE__));
/** 定义插件目录(相对路径) */
define(&#39;__TYPECHO_PLUGIN_DIR__&#39;, &#39;/usr/plugins&#39;);
/** 设置包含路径 */
@set_include_path(get_include_path() . PATH_SEPARATOR .
__TYPECHO_ROOT_DIR__ . &#39;/var&#39; . PATH_SEPARATOR .
__TYPECHO_ROOT_DIR__ . __TYPECHO_PLUGIN_DIR__);
?>

우선:

이 전역 변수를 살펴보겠습니다: __FILE__

파일의 전체 경로를 나타냅니다(물론 파일 이름 포함)

즉, 파일이 있는 디렉터리에 따라 다릅니다. 물론 패키지 라인 파일에 사용되는 경우 해당 값은 포함된 경로입니다.

살펴보겠습니다. 이 함수는

string dirname ( string path )

PHP 내장 함수인데, 파일 이름이 아닌 디렉터리를 반환하는 함수입니다. 예:

_FILE_ 변수를 사용하는 경우 홈페이지:

(웹 페이지가 있는 디렉토리가 http://localhost /web/index.php라고 가정),

_FILE_ 값은 http://localhost/web/index.php( 절대 경로). 이때 dirname(_FILE_)은 http://localhost/web/을 나타내며, index.php라는 파일명이 없다는 뜻입니다.


그리고 dirname(dirname(_FILE_))은 상위 디렉터리 등을 나타냅니다.

마지막으로:

define() 함수를 살펴보세요. 실제로는 다음과 같은 상수를 정의하는 함수입니다. ( 'MEN','ooooo');

그런 다음 MEN을 사용하여 문자열 ooooo를 나타낼 수 있습니다.

이런 방식으로 작성하면 어떤 이점이 있습니까? 즉, 변수를 수정해야 할 때 수정하기만 하면 됩니다. 그것입니다. 특히 경로와 같은 문자열의 경우 매우 편리합니다!

다음은 이 코드에 대한 설명입니다.

define(&#39;__TYPECHO_ROOT_DIR__&#39;, dirname(__FILE__));

은 __TYPECHO_ROOT_DIR__을 이 파일이 있는 디렉터리로 정의하는 것입니다. 이와 같은 정의는 일반적으로 config.inc.php에 있으며, 얻은 디렉터리는 다음과 같습니다. config.inc.php가 위치한 디렉토리, 즉 루트 디렉토리입니다!

define(&#39;__TYPECHO_PLUGIN_DIR__&#39;, &#39;/usr/plugins&#39;);

말도 안 돼요!

set_include_path(get_include_path() . PATH_SEPARATOR . $path);의 경우 포함 경로를 의미합니다.

예를 들어 데이터베이스 연결 파일이 포함된 include라는 폴더가 있습니다: conn.php...,

다음과 같이 설정해두시면

set_include_path("/include")

그러면 나중에 다른 페이지에서도 바로 사용하실 수 있습니다

include("conn.php")

이런 경우 자주 볼 수 있지 않나요? 물론, ;로 구분된 여러 경로를 설정할 수도 있습니다.

set_include_path(get_include_path() . PATH_SEPARATOR .
__TYPECHO_ROOT_DIR__ . &#39;/var&#39; . PATH_SEPARATOR .
__TYPECHO_ROOT_DIR__ . __TYPECHO_PLUGIN_DIR__);

는 무엇을 의미하나요? 예:

페이지 중 하나에

include(&#39;/inc/sql.php&#39;);
include(&#39;/inc/conn.php&#39;);
가 있습니다.

그리고 갑자기 이 파일을 inc 디렉토리에 넣는 것이 안전하지 않다는 것을 알게 되었습니다. 어떻게 해야 할까요? 이를 변경하고 싶습니다. 많은 페이지를 지치지 않고 끝낼 수 있습니다. 이상한: 좋은 방법이 있나요? 가지다! ! ! ! ! ! !

config.inc.php에 작성된 내용:

set_include_path(get_include_path() .&#39;/include&#39;)

그렇습니다. 간단합니다. 그렇습니다. 간단합니다! 다이나믹한 수정!

보지 마세요: get_include_path() . PATH_SEPARATOR 그것은 무엇입니까? 중간 은 방금 정의한 상수의 조합입니다. 즉, 포함 경로를 동적으로 설정할 수 있습니다! 포함된 경로가 올바르게 반환되면 false가 잘못 반환됩니다.

요약: 위 내용은 이 기사의 전체 내용이므로 모든 사람의 학습에 도움이 되기를 바랍니다.

관련 권장 사항:

PHP의 파일 작업에 대한 자세한 그래픽 설명


php간단한 중국어 인증 코드 기능 구현 방법

php대칭 암호화 알고리즘 구현

위 내용은 PHP에서 set_include_path() 함수 사용법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.