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

카테고리

분류 전체보기 (161)
Blog srart (16)
Dev Center (94)
Real Life (13)
Mac life (21)
Naver life (17)
Total657,254
Today63
Yesterday89

'스크립트'에 해당되는 글 2건

  1. 2010.04.29 PHP 에 무슨 문제라도??
  2. 2010.04.27 HTML 과 PHP 함께 사용하기. (3)
어렵게 PHP 를 설치하였다. 그런데 이상하게도 제대로 작동하지 않는 PHP 문서들... 게다가 제대로 나타나지 않는 한글들은 무슨 문제가 있어서 그런건지... PHP 를 설치한 후에 제대로 사용하기 위해서는 기본적으로 해 주어야 별 문제없이 사용할 수 있는 설정들이 있다.


꼭 확장자를 .php로만 해야 하는걸까?
스크립트 언어인 PHP 는 HTML 태그안에 포함되는 형태로 사용된다. php 파서는 HTML 문서내의 php 소스가 들어간 부분의 태그를 보고, 그것이 PHP 스크립트라고 생각하고 해석을 시작하게 되는 것이다. 그래서 사실 확장자가 html 이던 php 이던 똑같을 수 밖에 없는 것이다. 단지 주로 쓰여진 부분이 어떤 것인가, 또는 개발자의 스타일에 전적으로 맡겨질 수 밖에 없는 부분이다. 하지만, 분명 phpinfo() 함수가 실행되는것을 봐서는 문제업이 PHP 가 설치되었는데, 확장자를 html 로 하였을때는 실행이 되지 않는 경우가 있다. 이것은 아파치 서버에서 PHP 모듈이 읽을 수 있는 문서에 html이 포함되어 있지 않기 때문이다.


확장자가 html 일때도 php 스크립트가 실행되도록 하기.
PHP 는 아파치 서버에 모듈 형태로 작동하기 때문에 PHP 모듈이 어떤 문서를 인식하는지를 설정하기 위해서는 아파치의 설정 파일인 'httpd.conf' 파일을 수정해야 한다.


그림1. 폴더로 이동


그림2. /etc 폴더

먼저 파인더를 실행한 후 '이동' -> '폴더로 이동' 을 선택하여 '/etc' 폴더로 이동한다. /etc 폴더는 'HardDisk \ private \ etc' 에 위치해 있지만, 중요한 파일들이 많이 있는 숨김 폴더이기 때문에 마우스를 클릭하여 이동하는 방식으로는 접근이 불가능하다. '\etc' 폴더 아래에 있는 'apache2' 폴더를 보면 우리가 찾는 'httpd.conf' 파일이 있는것을 볼 수 있다. 이 파일을 열어서 html 문서도 php 파서가 읽어들일 수 있돌고 설정을 해주어야 한다.


그림3. 설정 추가

위 그림처럼 빨간 네모에 있는 내용을 추가하면 된다. 꼭 위 화면에 나온 위치가 아니라도 상관없다. 자신이 원하는곳에 써 넣도록 한다.

# And for PHP 5.x use:
#
AddType application/x-httpd-php .php .phtml .php5 .html


x-httpd-php 다음에 나오는 확장자를 가진 문서들을 php 파서가 인식하도록 하는 것이다. 확장자 앞에 닷(.)을 빼먹지 말고 써넣어야 한다. 위의 소스를 입력하였다면 저장을 하고 아파치 서버를 다시 시작하면 html 확장자를 가진 문서에서도 문제없이 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

댓글을 달아 주세요

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>

    안나오는게 정상인가여?

최근에 달린 댓글

글 보관함