정보실

웹학교

정보실

PHP include 와 require 비교

본문

include와 require는 특정파일을 화일내 불러와서 적용시킨다는 점에는 같다.

 

다만, 수행을 실패할 경우 include는 warning을 발생하지만 require는 Fatal Error를 발생시킨다.

그러므로 require가 훨씬 더 엄격하다고 볼 수 있다.

이 또한, PHP버전에 따라 약간의 다른 작용을 하기도 한다. 4.3.5이전 버전에서는 오류가 발생해도 수행을 멈추지 않고 계속 진행한다.

 

이와 비슷한 기능을 하는 것으로

include_once와 require_once가 있다.

이것은 프로그래머가 여럿이 협업을 할 때나 프로젝트가 복잡하여 동일한 화일이 인클루드를 여러번 할 수 있는 실수를 막기 위한 조치이다.

파일이 이미 포함되었는지 확인하여 특정 화일에 외부 화일이 여러번 인클루드되는 것을 막을 수 있다.

 

include_once는 PHP 4.0.1에서 추가되었다.

 

PHP5이전 버전을 사용할 경우에는 대소문자를 구별하지 않는 특정 운영체제(윈도우같은)에서 원하지 않는 결과를 얻을 수도 있다.

 

예:

<?php

include_once "a.php"; // a.php를 포함합니다.

include_once "A.php"; // 윈도우에서 또다시 a.php를 포함합니다. (PHP 5이전 버전에서)

?>

 

그누보드나 영카트를 보면 대부분의 페이지에서 반복되는 영역을 head.php와 tail.php로 만들어 필요한 곳에서 include하는 것을 볼 수 있다.

 

아래는 그누보드5의 index.php 내용이다.

 

--- 아 래 ---

<?php

define('_INDEX_', true);

include_once('./_common.php');

 

// 초기화면 파일 경로 지정 : 이 코드는 가능한 삭제하지 마십시오.

if ($config['cf_include_index']) {

    if (!@include_once($config['cf_include_index'])) {

        die('기본환경 설정에서 초기화면 파일 경로가 잘못 설정되어 있습니다.');

    }

    return; // 이 코드의 아래는 실행을 하지 않습니다.

}

 

if (G5_IS_MOBILE) {

    include_once(G5_MOBILE_PATH.'/index.php');

    return;

}

 

include_once('./_head.php');

?>

 

<h2 class="sound_only">최신글</h2>

<!-- 최신글 시작 { -->

<?php

//  최신글

$sql = " select bo_table

            from `{$g5['board_table']}` a left join `{$g5['group_table']}` b on (a.gr_id=b.gr_id)

            where a.bo_device <> 'mobile' ";

if(!$is_admin)

    $sql .= " and a.bo_use_cert = '' ";

$sql .= " order by b.gr_order, a.bo_order ";

$result = sql_query($sql);

for ($i=0; $row=sql_fetch_array($result); $i++) {

    if ($i%2==1) $lt_style = "margin-left:20px";

    else $lt_style = "";

?>

    <div style="float:left;<?php echo $lt_style ?>">

        <?php

        // 이 함수가 바로 최신글을 추출하는 역할을 합니다.

        // 사용방법 : latest(스킨, 게시판아이디, 출력라인, 글자수);

        echo latest("basic", $row['bo_table'], 5, 25);

        ?>

    </div>

<?php

}

?>

<!-- } 최신글 끝 -->

 

<?php

include_once('./_tail.php');

?> 

 

 

  • 트위터로 보내기
  • 페이스북으로 보내기
  • 구글플러스로 보내기
  • 카카오톡으로 보내기

페이지 정보

조회 544회 ]  작성일15-02-04 17:51
php

웹학교