컴퓨터 세상/PHP

PHP - include 문

Jimin Daddy 2020. 7. 13. 09:57

## include 문

  - 특정한 파일이나 URL 페이지를 현재 실행중인 스크립트에 포함시킬 때 사용.

    현재 실행중인 PHP 스크립트에 HTML이나 TXT 와 같은 텍스트 문서를 포함시킬 수도 있고, 또 다른 PHP 스크립트 코드를 가져와 실행시킬 수도 있다. 

또한 URL 자체 페이지를 가져올 수도 있다. 다만, URL 페이지의 경우 그 페이지를 불러온 후 해당 스크립트에서 파싱을 하는 것이 아니고, 파싱된 문서를 HTML 형태로 가져오는 것이다.

   - include를 통해 가져온 문서의 변수는 그 함수내에서만 사용 가능한 지역 변수 형태로 사용되게 된다. 

   ex) <? 

            include "message.txt";

        ?>

        위 내용이면 message.txt라는 문서의 내용을 가져오게 된다.

        message.txt 문서의 내용이 " Hello PHP"라고 한다면 

        "Hello PHP" 라는 문장이 출력되게 된다. 

         txt 파일이어서 echo 없이도 해당 문서가 출력

    ex) <?

            $a = 10;

            $b = 20;

            echo "변수 \$a : " . $a .", 변수 \$b : ". $b ."입니다. <br>";   // 1 번째

            function sum() {

                 global $a;

                 include "init_vars.php";  // init_vars.php 파일로 $a = 100; $b = 200; 임.

                 echo "변수 \$a : " . $a .", 변수 \$b : ". $b ."입니다. <br>";  // 2 번째

            }

            sum();

            echo "변수 \$a : " . $a .", 변수 \$b : ". $b ."입니다. <br>";  // 3 번째

          ?>

          init_var.php의 파일 내용이 $a = 100; $b = 200; 임.

          그렇다면 1 번째 출력내용은

          "$a : 10, $b : 20" 이 출력된다. 맨 위에 선언된 값이 우선 출력됨.                

          sum() 함수로 인해 출력되는 2 번째 값은

          "$a : 100, $b : 200"이 출력된다. include로 인한 init_vars.php 에 포함된 변수 선언 값으로 인하여 이렇게 출력된다. 

          마지막 3번째 값은

          "$a : 100, $b : 20"이라는 값이 출력. $a는 global 전역변수 선언으로 인해 100이 출력되고, $b는 지역변수이므로 함수 밖에 선언된 20이 출력됨.

     ex) <?

              include "http://nate.com";

           ?>

           이렇게 되면 네이트 홈 페이지 사이트가 출력된다. 

           대신 해당 스크립트에서 파싱되는 것이 아닌 파싱된 문서를 불러오는 것이다.

    외부 URL 페이지를 불러오기 위해서는 php.ini 환경설정 파일에서 

    allow_url_fopen = On 으로 설정해야 한다.

또한 지정한 경로에 파일이 없을 경우 경고성 메시지 출력 후 파싱을 계속 진행

## include_once문

   - 문구대로 지정한 파일은 단 한번만 포함시킨다.

   - 이미 이 구문을 통해 현재의 스크립트에 포함시켰던 파일을 다시 포함시킴으로써 함수의 재정의와 같은 파싱 오류를 발생시키는 경우가 있는데 이 경우를 위하여 다시 포함시키지 않도록 함으로써 이러한 에러를 방지하는 역할

   - 사용법은 위의 include문과 동일