웹마스터 팁
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에서 많이 뵙던 아이디라 반갑네요 ^^
제목 | 글쓴이 | 날짜 |
---|---|---|
동적으로 Extensions(library) 로딩하기 | impre | 2003.09.20 |
include 할시에 주의사항..(경로설정관련) [10] | 피너츠 | 2003.09.14 |
지정한만큼 암호화/해독 하기 [24] | 뒹굴리스트 | 2003.09.10 |
모든파일을 리스트로 만들기; [10] | 플로렐라 | 2003.09.10 |
군대간 친구 남은날짜 구하기 2(복무기간 단축에 따른 수정) [8] | 신민경 | 2003.09.02 |
자료실에 쓸만한 자료용량 환산 [7] | 한승진 | 2003.09.01 |
php 랜덤 이미지 디렉토리 검색으로 편하게.. [3] | 꺼노 | 2003.08.28 |
웹디자이너와 프로그래머가 사이 좋게 코딩하는 방법 [50] | 마이템플릿 | 2003.08.13 |
개판 오분전 정규식(1) | 미친개 | 2003.08.07 |
개판 오분전 정규식(2) [5] | 미친개 | 2003.08.07 |
개판 오분전 정규식(3) [2] | 미친개 | 2003.08.07 |
개판 오분전 정규식(4) | 미친개 | 2003.08.07 |
$i++ !== $i += 1 [14] | 플로렐라 | 2003.08.04 |
체널을 응용해서 tmain.php?tdb=test&db=src 식으로 쓰기 [12] | 9000㎒ | 2003.08.01 |
제로보드 + MSN 메신저 (작성글에 리플이나 코멘트가 달리면 MSN으로 알려준다?) [18] | HungryMania | 2003.08.01 |
스킨 시스템 사용하기 [2] | 김규백 | 2003.07.25 |
다른 사이트에 있는 파일 읽어오기 [50] | 김규백 | 2003.07.25 |
초간단 php 랜덤 이미지 및 랜덤 배경이미지 소스 [6] | 거금도 | 2003.07.24 |
'와 "의 속도 차이?! [6] | holies | 2003.07.12 |
Thumbnail 생성하기 - 수정^^; [9] | holies | 2003.07.11 |
ㅡ.ㅡ; 단순 치환이면 굳이 함수까지 써가면서 스킨을 애써 만들 필요는 없죠.