PHP Include 파일
서버 단면 포함(SSI)은 여러 페이지에서 반복적으로 사용할 수 있는 함수, 헤더, 푸터 또는 요소를 생성하는 데 사용됩니다.
include(또는 require) 문은 지정된 파일에 존재하는 모든 텍스트/코드/태그를 가져와 include 문을 사용한 파일에 복사합니다.
PHP, HTML 또는 텍스트를 웹사이트의 여러 페이지에서 공통으로 사용할 때, 파일을 포함하는 것은 매우 유용합니다.
PHP include와 require 문
include나 require 문을 통해 PHP 파일의 내용을 다른 PHP 파일에 삽입할 수 있습니다(서버가 실행하기 전에).
include와 require 문은 오류 처리면에서는 동일하지만 다릅니다:
- require는 결정적인 오류(E_COMPILE_ERROR)를 생성하고 스크립트를 중지합니다
- include는 경고(E_WARNING)만 생성하고 스크립트가 계속됩니다
따라서, 포함 파일이 손실되었을 때도 계속 실행하고 사용자에게 결과를 출력하려면 include를 사용하십시오. 그렇지 않으면, 프레임워크, CMS 또는 복잡한 PHP 애플리케이션 프로그래밍에서 항상 중요한 파일을 참조하기 위해 require를 사용하십시오. 이는 특정 중요한 파일이 실수로 손실되었을 때 애플리케이션의 보안성과 통합성을 높이는 데 도움이 됩니다.
파일 포함은 많은 작업을 절약합니다. 이는 모든 페이지에 표준 헤더, 푸터 또는 메뉴 파일을 만들 수 있음을 의미합니다. 그런 다음 헤더가 업데이트되어야 할 때, 이 헤더 포함 파일을 업데이트하면 됩니다.
문법
include 'filename';
또는
require 'filename';
PHP include 예제
예제 1
가정해보면 "footer.php"라는 표준 푸터 파일이 있습니다, 이렇게요:
<?php echo "<p>저작권 © 2006-" . date("Y") . " codew3c.com</p>"; ?>
이 페이지에 이 페이지 푸터 파일을 참조하려면 include 문을 사용하십시오:
<html> <body> <h1>우리 홈페이지에 방문해 주셔서 감사합니다!</h1> <p>한 줄의 텍스트.</p> <p>한 줄의 텍스트.</p> <?php include 'footer.php';?> </body> </html>
예제 2
가정해보면 "menu.php"라는 표준 메뉴 파일이 있습니다:
<?php echo '<a href="/index.asp">홈페이지</a> - <a href="/html/index.asp">HTML 강의</a> - <a href="/css/index.asp">CSS 강의</a> - <a href="/js/index.asp">JavaScript 강의</a> - <a href="/php/index.asp">PHP 강의</a>'; ?>
사이트의 모든 페이지는 이 메뉴 파일을 사용합니다. 구체적인 방법은 (우리는 <div> 요소를 사용하여 미래에 CSS 스타일을 쉽게 설정할 수 있도록 했습니다):
<html> <body> <div class="menu"> <?php include 'menu.php';?> </div> <h1>欢迎访问我的首页!</h1> <p>텍스트.</p> <p>더 많은 텍스트.</p> </body> </html>
예제 3
가정해보면 "vars.php"라는 파일이 있고, 몇 가지 변수를 정의한 것입니다:
<?php $color='银色的'; $car='奔驰轿车'; ?>
그런 다음, 우리가 이 "vars.php" 파일을 참조하면, 호출된 파일에서 이러한 변수를 사용할 수 있습니다:
<html> <body> <h1>欢迎访问我的首页!</h1> <?php include 'vars.php'; echo "I have a $color $car."; ?> </body> </html>
PHP include vs. require
require 문은 PHP 코드에 파일을 참조하는 데도 사용됩니다.
그러나, include와 require는 큰 차이가 있습니다. include 문을 사용하여 파일을 참조했을 때 PHP가 파일을 찾을 수 없다면 스크립트는 계속 실행됩니다:
예제
<html> <body> <h1>Welcome to my home page!</h1> <?php include 'noFileExists.php'; echo "I have a $color $car."; ?> </body> </html>
만약 우리가 require 문을 사용하여 같은 예제를 완료하면, echo 문은 계속 실행되지 않습니다. 왜냐하면 require 문이 심각한 오류를 반환한 후 스크립트가 종료되기 때문입니다:
예제
<html> <body> <h1>Welcome to my home page!</h1> <?php require 'noFileExists.php'; echo "I have a $color $car."; ?> </body> </html>
주석:
이때는 require를 사용하십시오: 파일이 애플리케이션에 요청될 때.
이때는 include를 사용하십시오: 파일이 필요하지 않으며, 파일이 찾지 못되었을 때 애플리케이션이 계속 실행되어야 할 때.