웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
스킨 시스템 사용하기
2003.07.25 22:46
http://yubikiri.com다른사이트에 있는 파일 쎄비기 올린 사람입니다 ^^;;
연이어서 스킨 만드는 방법을 알려드리겠습니다.
실제로 제가 사용하는 방법입니다.
<?php
//일단 함수를 하나 정의합니다.
//함수의 역활은 스킨을 읽어서 스킨에서 사용된 여러 변수에 쓰일
// php 에서 사용하는 $변수 를 찾아주는 역활을 합니다.
function skin($var)
{
global $$var[1];
return $$var[1];
}
$fp=@fopen("test.html","r"); // test.html 을 열고
$skindata=@fread($fp,@filesize("test.html")); // 읽어서 $skindata에 저장하고
@fclose($fp); // 닫습니다.
/* test.html 의 내용
-{TEST}-<br>
<marquee>-{OK}-</marquee>
*/
$TEST="테스트 입니다.";
$OK="성공입니다.";
$result=preg_replace_callback("/-{([A-Z]+)}-/",skin,$skindata);
// 첫번째 인자는 변수의 형태. 표현식의 형태로 표현합니다.
// 여기서는 -{영문대문자만}- 이런 식으로 사용합니다.
// 두번째 인자는 적용할 함수. 앞에서 정의한 skin을 이용합니다.
// 세번째 인자는 스킨을 적용할 데이터 입니다.
print $result; // 출력합니다.
?>
include 를 이용한 스킨방식은 스킨 파일내에서 php소스를 실행할수 있는게 장점이자 단점입니다.
위의 방식을 사용한다면 스킨파일 내에서의 php소스 실행은 불가능 합니다.
하지만 스킨을 한번 처리하고 다시 한번더 처리할수도 있고 속도도 빠릅니다. 게다가.......기타등등의 장점 ㅡㅡ;
잘 응용해보시고 잘 사용하세요 ^^
연이어서 스킨 만드는 방법을 알려드리겠습니다.
실제로 제가 사용하는 방법입니다.
<?php
//일단 함수를 하나 정의합니다.
//함수의 역활은 스킨을 읽어서 스킨에서 사용된 여러 변수에 쓰일
// php 에서 사용하는 $변수 를 찾아주는 역활을 합니다.
function skin($var)
{
global $$var[1];
return $$var[1];
}
$fp=@fopen("test.html","r"); // test.html 을 열고
$skindata=@fread($fp,@filesize("test.html")); // 읽어서 $skindata에 저장하고
@fclose($fp); // 닫습니다.
/* test.html 의 내용
-{TEST}-<br>
<marquee>-{OK}-</marquee>
*/
$TEST="테스트 입니다.";
$OK="성공입니다.";
$result=preg_replace_callback("/-{([A-Z]+)}-/",skin,$skindata);
// 첫번째 인자는 변수의 형태. 표현식의 형태로 표현합니다.
// 여기서는 -{영문대문자만}- 이런 식으로 사용합니다.
// 두번째 인자는 적용할 함수. 앞에서 정의한 skin을 이용합니다.
// 세번째 인자는 스킨을 적용할 데이터 입니다.
print $result; // 출력합니다.
?>
include 를 이용한 스킨방식은 스킨 파일내에서 php소스를 실행할수 있는게 장점이자 단점입니다.
위의 방식을 사용한다면 스킨파일 내에서의 php소스 실행은 불가능 합니다.
하지만 스킨을 한번 처리하고 다시 한번더 처리할수도 있고 속도도 빠릅니다. 게다가.......기타등등의 장점 ㅡㅡ;
잘 응용해보시고 잘 사용하세요 ^^
댓글 2
-
행복한고니
2003.07.26 03:28
-
김규백
2003.07.26 15:35
뭐랄까 제가 만든 프로그램의 구조상 스킨파일이 이형태가 아니고서는 불가능합니다 ^^;;;;
하지만 역시 스킨에서도 PHP소스를 실행할수 있게하는게 훨신 이득이 많을것 같군요.
제로보드처럼요 ^^ 감사합니다.
PHPSCHOOL에서 많이 뵙던 아이디라 반갑네요 ^^
제목 | 글쓴이 | 날짜 |
---|---|---|
스킨 시스템 구축.(1탄 읽어오기) [11] | 씨파개 | 2003.05.13 |
Wake On Lan 기능 사용하기... [3] | sMokaHallo | 2003.05.17 |
썸네일 자동생성하고 이미지 사이즈 자동 줄이기... [6] | sMokaHallo | 2003.05.21 |
홈페이지의 내용을 DB에 담기 [15] | 세죠위그이 | 2003.05.30 |
체크박스등으로 배열로 변수를 넘길때.. [1] | myself2 | 2003.06.06 |
php 로 기존 문서 포함시키기 [10] | 이성헌 | 2003.06.08 |
PHP 익히기 1 [24] | 구리구리 | 2003.06.09 |
PHP 익히기 2 [9] | 구리구리 | 2003.06.10 |
PHP 익히기 3 [11] | 구리구리 | 2003.06.17 |
이미 인클루드된 파일은 다시 인클루드하지 않기 [14] | 김병희 | 2003.06.20 |
htmlspecialchars 사용하시는 분들 [5] | holies | 2003.07.11 |
Thumbnail 생성하기 - 수정^^; [9] | holies | 2003.07.11 |
'와 "의 속도 차이?! [6] | holies | 2003.07.12 |
초간단 php 랜덤 이미지 및 랜덤 배경이미지 소스 [6] | 거금도 | 2003.07.24 |
다른 사이트에 있는 파일 읽어오기 [50] | 김규백 | 2003.07.25 |
스킨 시스템 사용하기 [2] | 김규백 | 2003.07.25 |
제로보드 + MSN 메신저 (작성글에 리플이나 코멘트가 달리면 MSN으로 알려준다?) [18] | HungryMania | 2003.08.01 |
체널을 응용해서 tmain.php?tdb=test&db=src 식으로 쓰기 [12] | 9000㎒ | 2003.08.01 |
$i++ !== $i += 1 [14] | 플로렐라 | 2003.08.04 |
개판 오분전 정규식(4) | 미친개 | 2003.08.07 |
ㅡ.ㅡ; 단순 치환이면 굳이 함수까지 써가면서 스킨을 애써 만들 필요는 없죠.