블로그 이미지
'무른모'란 부드럽다라는 뜻을 가진 '무르다'라는 말과 도구, 연장을 뜻하는 '연모'라는 순 우리말의 합성어로 소프트웨어를 말합니다. seanhigher

카테고리

분류 전체보기 (161)
Blog srart (16)
Dev Center (94)
Real Life (13)
Mac life (21)
Naver life (17)
Total633,812
Today36
Yesterday88
PHP 는 PHP 이고 HTML 은 HTML 인데... 이 둘을 함께 사용하려면 어떻게 해야 할까? PHP는 ASP, JSP와 같은 스크립트 형태의 언어이기 때문에 HTML 태그에 내장되는 형태로 사용이 된다. PHP를 선언하는 태그를 HTML 문서에 포함시킨후, 태그 안에 PHP 소스를 넣으면 된다.



PHP임을 알리는 HTML 태그.
HTML 문서에 PHP임을 알리는 태그는 매우 간단하다. '<?php ?>' 또는 '<? ?>' 이다. 가운데 빈 공간에 PHP 스크립트 코드를 써 넣으면 되는 것이다. 사실 HTML 문서나, PHP 문서나 똑같은 웹 문서일 뿐이다. 확장자의 이름만 다를 뿐이다. HTML 과 PHP 문서를 구분짓는 것은 그 안에 사용되는 태그를 어떻게 사용하느냐이다. 확장자명을 PHP로 한다고 할찌라도 일반적인 HTML 태그를 사용한 소스만을 사용한다면 HTML 문서와 똑같이 작용할 뿐이다. 그렇기 때문에 PHP 로 시작하는 문서는 보통 '<?' 로 시작하게 된다.


HTML 문서안에 PHP 포함시키기.
HTML 문서에 PHP 소스를 포함시키기 위해서는 '<? ?>' 태그안에 PHP 소스를 작성하면 된다.

<PHPinHTML.html>
<HTML>
  <HEAD>
    <TITLE>HTML 안에 PHP</TITLE>
  </HEAD>
  <BODY>
    지금 시간은 <b> <? echo date("Y-m-d H:i:s") ?> </b> 입니다.
  </BODY>
</HTML>


'echo' 는 C 언어의 printf문과 같은 역할을 한다. 다음에 나오는 인자를 화면에 출력해주는 역할을 한다. date() 함수는 현재의 날짜, 시간을 출력해주는 함수이다. 위의 'PHPinHTML.html' 문서를 실행하면 다음과 같은 결과가 나오게 된다.


그림1. HTML 안에 PHP

Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Seoul' for 'KST/9.0/no DST' instead in /Users/seanhigher/Sites/PHPinHTML.php on line 8

만약 위와 같은 warning 메시지를 보게된다면 타임존이 설정되지 않은것이다. 아래와같이 타임존을 설정해주는 소스를 추가해주면 에러메세지가 사라질 것이다.

<PHPinHTML.html>
  <HEAD>
    <TITLE>HTML 안에 PHP</TITLE>
    <? date_default_timezone_set('Asia/Seoul'); ?>
  </HEAD>


PHP 문서안에 HTML 포함시키기.
반대로 PHP 문서안에 HTML 태그를 포함시킬 수 도 있다. PHP 는 이렇게 유연한 방식으로 개발자들을 대하기 때문에 개발자의 사용습관에 따라 편한대로 사용할 수 있다. PHP 문서안에 HTML 태그를 포함시키기 위해서는 'echo' 함수를 사용할 수 있다. echo 는 C 에서의 printf 문과 마찬가지로 이후의 내용을 출력하는 역할을 하기 때문에 echo 의 인자로 HTML 태그를 포함시킴으로 HTML 태그를 표현할 수 있게 된다.

<HTMLinPHP.php>
<?
  echo "<HTML><HEAD><TITLE>PHP 안에 HTML</TITLE></HEAD>
  <BODY>지금 시간은 <b>";
  echo date("Y-m-d H:i:s");
  echo "</b> 입니다.</BODY></HTML>";
?>


위의 소스코드를 실행하면 'PHPinHTML.html' 문서를 실행한것과 같은 결과를 보게 될 것이다.


그림2. HTMLinPHP.html

PHP 를 사용하는 방법은 다양하다. 하지만 다양하다고 해서 편하다는 것은 아니다. 분명, 일반적인 위지윅 방식의 HTML 편집기와 함께 사용하려고 한다면 어려움이 있기 마련이다. 하지만 이런 문제를 단번에 해결하면서도 좀더 효율적으로 PHP 소스를 활용할 수 있는 방법이 있다. include() 함수가 그 방법이다!


통째로 포함시키기.
수십페이지에 달하는 웹 페이지를 제작하려고 하는 개발자가 있다. 하지만, 모든 페이지가 대부분 같은 폼을 가지고 있다. 똑같은 작업을 수십번 반복해야 하는 것이다. 만들때는 새로 만들어서 복사하면 된다고 하지만, 수정을 해야 할때는 대책없이 수십개의 문서를 일일이 수정해 주어야 한다. 이럴때, 템플릿을 활용하면 훨씬 수월하게 작업을 하고, 웹페이지 유지보수를 할 수 있다. 똑같은 형식을 갖는 부분을 템플릿으로 만들고 수십개의 문서에 그것을 포함시키는 형식으로 적용을 시키는 것이다. 수정을 할 때는 템플릿만 수정을 하게 되면 모든 템플릿을 포함한 모든 문서에 똑같이 적용이 되는 것이다.


그림3. 템플릿의 활용

템플릿은 HTML 문서로 작성하여도, PHP 문서로 작성하여도 무방하다. 템플릿 문서를 포함하고자 하는 문서에 '<? include "템플릿 문서"; ?>' 와 같은 형식을 취하면 된다.

<TimeTemplate.php>
<?
  echo "지금 시간은";
  echo date("Y-m-d H:i:s");
  echo "입니다";
?>

<documentA.html>
<HTML>
  <HEAD>
    <TITLE>템플릿의 활용</TITLE>
  </HEAD>
  <BODY>
  <? include "TimeTemplate.php"; ?>
  </BODY>
</HTML>


위의 두개의 파일을 실행하면 다음과 같이 실행되는 것을 알 수 있다.


그림4. documentA.html (include TimeTemplate.php 포함)

위에서 설명한 예제는 간단하지만, 좀더 큰 규모의 웹 페이지를 제작하게 될 경우에 템플릿을 사용하여 효율성을 극대화 하는 것은 꼭 필요한 기능이다.



'Dev Center > PHP start' 카테고리의 다른 글

PHP 의 변수.  (0) 2010.05.01
timezone 설정하기.  (0) 2010.04.30
PHP 에 무슨 문제라도??  (0) 2010.04.29
HTML 과 PHP 함께 사용하기.  (3) 2010.04.27
eclipse에 PDT 설치하기.  (0) 2010.03.27
PHPeclipse 설치하기.  (2) 2010.03.15
Posted by seanhigher

댓글을 달아 주세요

  1. 2010.04.28 00:54  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

  2. 2015.12.31 22:34 신고 소울라이어  댓글주소  수정/삭제  댓글쓰기

    제가 개념이 없어서 그러는데요.
    티스토리 블로그에 글쓰기를 한다음 HTML모드에서 이 코드를 적으면요
    <HTML>
    <HEAD>
    <TITLE>HTML 안에 PHP</TITLE>
    </HEAD>
    <BODY>
    지금 시간은 <b> <? echo "ㅇㅇㅇㅇㅇㅇㅇ"; ?> </b> 입니다.
    </BODY>
    </HTML>

    안나오는게 정상인가여?

최근에 달린 댓글

글 보관함