사이트 내 전체검색
PHP
[PHP] PHP에서 Include (인클루드) (2009/04/26 수정)
로빈아빠
https://cmd.kr/php/594 URL이 복사되었습니다.

본문

인클루드는 웹서버에서 컴파일되어 실행되는 기능입니다
사용되는 웹프로그래밍 언어가 ASP이든 PHP이든 JSP이든 인클루드는 가능합니다
하지만 웹서버를 통하지 않고 Pulish되는 html문서 내에 있는 인클루드 파일은 컴파일이 되지 않으므로 인클루드 되지 않는것입니다

그리고 웹서버 마다 인클루드하는 문법도 조금씩 차이가 있습니다

※ 절대경로 또는 상대경로를 사용할수 있으며, 방법은 아래와 같습니다.
<?php
  include "menu.html" ;  //  기본적인 include() 사용예
  include ("menu.html") ;  // 드림위버에서의 사용예
  include_once ("./menu.php") ;  //  반복을 피하기 위한 사용예
  include_once $_SERVER["DOCUMENT_ROOT"]."/inc/menu.php" ;  // 절대경로
    // 절대경로를 사용하는 경우는 Include 파일속에 또다른 Include 파일이 삽입되어야 하는 경우
  include "http://test.com/menu.php" ;  //  HTTP로 include()하기
?>


추가자료 (2006/06/12 작성)
출처 : kr.php.net ( http://kr.php.net/function.include )

1. require()

require()문은 특정 파일을 인클루드하고, 적용시킨다.

require()와 include() 는 수행실패를 제어하는 방법을 제외하고 모든면에서 동일하다. include()는 Warning을 발생시키는 반면에 require()는 Fatal Error을 발생시킨다. 즉, 파일이 존재하지 않을때 페이지 처리를 중단시키 고자 한다면 require()를 쓰는데 주저할 필요가 없다. include()는 이와같이 동작하지 않으므로 파일이 없더라도 스크립트는 계속 실행될것이다. 또한 적절한 include_path설정인지 확인해야 한다.


2. include()

include()문은 특정 파일을 인클루드 하고, 적용시킨다.

이하 내용은 require()에도 적용되는 사항이다. 두가지 구조는 수행실패를 제어하는 방법을 제외하고 모든면에서 동일하다. include()는 Warning을 발생시키는 반면에 require()는 Fatal Error을 발생시킨다. 즉, 파일이 존재하지 않을때 페이지 처리를 중단시키 고자 한다면 require()를 쓰는데 주저할 필요가 없다. include()는 이와같이 동작하지 않으므로 파일이 없더라도 스크립트는 계속 실행될것이다. 또한 적절한 include_path설정인지 확인해야 한다. require한 파일 안에서의 처리 오류는 수행을 멈추지 않는 점에 주의하십시오.

파일을 포함할 경우 가장 먼저 현재 작업 디렉토리에 상대 경로로 include_path를 찾고, 다음으로 현재 스크립트의 디렉토리에 상대 경로로 include_path를 찾습니다. 예를 들어, include_path가 .이고, 현재 작업 디렉토리 /www/에서 include/a.php를 포함하였고, 그 파일 안에 include "b.php"이 존재하면, b.php는 우선 /www/에서 찾고, 다음으로 /www/inclde/에서 찾습니다.

파일이 인클루드 되면, 그 코드를 포함하는 코드는 인클루드가 발생한 줄의 변수 유효 범위를 물려받는다. 호출하는 파일의 그 줄에서 사용되는 어떤 변수도 그 줄부터는 호출된 파일안에서 사용이 가능하다.


3. require_once()
참고: require_once()는 PHP 4.0.1pl2에서 추가됨

require_once()문은 스크립트 수행기간 중에 특정파일을 인클루드하고 적용시킨다. 이것은 require()문과 비슷하게 동작한다. 오직 파일의 코드가 이미 인클루드되었다면 다시 인클루드되지 않을것 이라는 차이점이 있다.

require_once()는 특정 스크립트 수행기간동안 한번이상 인클루드되고 적용될수 있는 상황에서 사용하도록 한다. 그리고 함수 중복 정의와 변수값 중복 지정 등에 대한 문제를 회피하기 위해서는 정확히 한번 인클루드될 필요가 있을것이다.


4. include_once()
참고: include_once()는 PHP 4.0.1pl2에서 추가됨

include_once()문은 스크립트 수행기간동안 특정파일을 인클루드하고 적용시킨다. 이것은 include()문과 비슷하게 동작한다. 단지 파일의 특정 코드가 이미 인클루되었다면 그 코드는 다시는 인클루드 될수 없다는 차이점만 있다. 이 이름이 제시하듯이 한번만 인클루드할것이다.

include_once()는 특정 스크립트 수행기간동안 동일한 파일이 한번 이상 인클루드되고 적용될지도 모르는 상황에서 사용해야 할것이다. 그리고 함수 중복정의, 변수값 중복 지정 등의 문제를 회피하려면 정확히 한번만 인클루드할 때가 있을것이다.

댓글목록

등록된 댓글이 없습니다.

PHP
871 (8/18P)

Search

Copyright © Cmd 명령어 13.59.92.247