웹마스터 팁
page_full_width">
스킨 시스템 구축.(1탄 읽어오기)
2003.05.13 21:24
저는..제 Smemo 프로젝트를 만들때 스킨시스템에서 무지 고생하였습니다. 과연 어떻게 적용할건지.. 그게 문제엿죠...
현제는 아주 간편하게.. include 로 하지만.. 치환방법도 있습니다.
그러나.. 치환방법은... 글자를 바꿔주기때문에.. 인클루드보다는 느릴것 같습니다.....
참고로.. 허접한 소스이니.. 돌은 던지지 마십시오.
또 여기서는 head와 푸트만.. 하겟습니다.
나중에.. 안에 소스는 .. 2탄쯤에서 공개하겟습니다.
그리고... 제가.. 요즘..무지 바빠서.... 내용은 무지 간결합니다...
돌은 던지지 마십시오.
<?php
//<?앞에 php 라고 붙이는것을 습관화 합시다. ㅡㅡ;; 안해도 되지만...쩝
//파일사이즈 읽음
unset($f); //변수 초기화
unset($fp);//변수를 또 초기화
//시작
$f = filesize("head.php");
$fp = fopen("head.php","r"); //파일을 r방식으로 읽음..ㅡㅡ
$head_SKIN = fread($fp,$f);
fclose($fp);
//푸트 읽어..
$f = filesize("foot.php");
$fp = fopen("foot.php","r");
$foot_SKIN = fread($fp,$f);
fclose($fp);
//스킨 해석
unset($head_SKIN); //변수를 또또 초기화
$head_SKIN = str_replace("[ad]","<embed src='flash.swf' comt='광고'></embed>",$head_SKIN);
$head_SKIN = str_replace("[img_PATH]","skin/$skin_dir/images",$head_SKIN);
$head_SKIN = str_replace("[login_FORM]","$HTTP_SESSION_VARS[super]",$head_SKIN);
$head_SKIN = str_replace("[del]","<a href='delete.php?db=$db&no=$no&desc=$desc'>삭제</a>",$head_SKIN);
$head_SKIN = str_replace("[head]","<table border='$data[tb]' bgcolor='$data[tc]'>",$head_SKIN);
echo "$head_SKIN";//해드 출력
$Query = $Data[Query];
$foot_SKIN = str_replace("[all_tag]","</table></a>",$foot_SKIN);
$foot_SKIN = str_replace("[end_PROGRAM","<!-- $Query -->",$foot_SKIN);
echo $foot_SKIN;
?>
이렇게 하시면.. 자동으로 데이터를 찾아 치환해서 보여줍니다.. 그러나... 이 방법보다는 .. 무지 쉬운.. 인클루두가 쉬울것같군요
메모장일경우.. 반복문부터.. 반복문이 끝날때를 head 로 정하고.. 카피라이트및 스킨만든사람정보는 foot 로 처리하면.. 훨씬 간결합니다.
그러나.. 파일시스템으로할경우.. 노가다가 필요합니다.
현제는 아주 간편하게.. include 로 하지만.. 치환방법도 있습니다.
그러나.. 치환방법은... 글자를 바꿔주기때문에.. 인클루드보다는 느릴것 같습니다.....
참고로.. 허접한 소스이니.. 돌은 던지지 마십시오.
또 여기서는 head와 푸트만.. 하겟습니다.
나중에.. 안에 소스는 .. 2탄쯤에서 공개하겟습니다.
그리고... 제가.. 요즘..무지 바빠서.... 내용은 무지 간결합니다...
돌은 던지지 마십시오.
<?php
//<?앞에 php 라고 붙이는것을 습관화 합시다. ㅡㅡ;; 안해도 되지만...쩝
//파일사이즈 읽음
unset($f); //변수 초기화
unset($fp);//변수를 또 초기화
//시작
$f = filesize("head.php");
$fp = fopen("head.php","r"); //파일을 r방식으로 읽음..ㅡㅡ
$head_SKIN = fread($fp,$f);
fclose($fp);
//푸트 읽어..
$f = filesize("foot.php");
$fp = fopen("foot.php","r");
$foot_SKIN = fread($fp,$f);
fclose($fp);
//스킨 해석
unset($head_SKIN); //변수를 또또 초기화
$head_SKIN = str_replace("[ad]","<embed src='flash.swf' comt='광고'></embed>",$head_SKIN);
$head_SKIN = str_replace("[img_PATH]","skin/$skin_dir/images",$head_SKIN);
$head_SKIN = str_replace("[login_FORM]","$HTTP_SESSION_VARS[super]",$head_SKIN);
$head_SKIN = str_replace("[del]","<a href='delete.php?db=$db&no=$no&desc=$desc'>삭제</a>",$head_SKIN);
$head_SKIN = str_replace("[head]","<table border='$data[tb]' bgcolor='$data[tc]'>",$head_SKIN);
echo "$head_SKIN";//해드 출력
$Query = $Data[Query];
$foot_SKIN = str_replace("[all_tag]","</table></a>",$foot_SKIN);
$foot_SKIN = str_replace("[end_PROGRAM","<!-- $Query -->",$foot_SKIN);
echo $foot_SKIN;
?>
이렇게 하시면.. 자동으로 데이터를 찾아 치환해서 보여줍니다.. 그러나... 이 방법보다는 .. 무지 쉬운.. 인클루두가 쉬울것같군요
메모장일경우.. 반복문부터.. 반복문이 끝날때를 head 로 정하고.. 카피라이트및 스킨만든사람정보는 foot 로 처리하면.. 훨씬 간결합니다.
그러나.. 파일시스템으로할경우.. 노가다가 필요합니다.
댓글 11
-
앳플군
2003.05.15 16:22
-
TheMics
2003.05.15 16:28
앳플//정신건강상;;;원츄;ㅁ;/
다만 제로보드 아웃로그인도 이와 유사한 구조로 작동하고 있으니까 쓰기에 따라 스킨으로 불릴 수 있다는 얘기겠죠; -
TheMics
2003.05.13 21:30
어디선가 굉~~~~~~~~~장히 많이 본 소스군요. 누군가가 개발(?)한 MSL 파서 소스와 너무나 비슷하군요; -
행복한고니
2003.05.14 15:44
제대로 작동하지 않는다... 라는 결론이 나오는군요. -
김현석
2003.05.14 21:50
고움이 많이 되었습니다 ^^ -
TheMics
2003.05.15 12:26
행복한고니//으음;지금 보니 foot만 출력되겠군요-_-; -
특급잠수부
2003.05.15 21:37
문제점 : unset($head_SKIN); //변수를 또또 초기화
앳플 // 정신건강상 --> 한표!! -
nreal
2003.05.25 10:04
탬플릿은 그러면 서버에 설치하는게 아니라 계정에 올려서 사용하는건가요? -
[포터]아렌티
2003.05.31 21:25
-
토끼군
2003.07.16 12:30
nreal// 그건 아닐 겁니다...;; -
Myzzix
2003.07.18 00:42
$f = filesize("foot.php");
$fp = fopen("foot.php","r");
$foot_SKIN = fread($fp,$f);
fclose($fp);
이 방법보단...
$file = implode('',file("./skin/default/list.html"));
이 방법이 더 간편할듯하네요^^
제목 | 글쓴이 | 날짜 |
---|---|---|
개판 오분전 정규식(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 |
htmlspecialchars 사용하시는 분들 [5] | holies | 2003.07.11 |
이미 인클루드된 파일은 다시 인클루드하지 않기 [14] | 김병희 | 2003.06.20 |
PHP 익히기 3 [11] | 구리구리 | 2003.06.17 |
PHP 익히기 2 [9] | 구리구리 | 2003.06.10 |
PHP 익히기 1 [24] | 구리구리 | 2003.06.09 |
php 로 기존 문서 포함시키기 [10] | 이성헌 | 2003.06.08 |
체크박스등으로 배열로 변수를 넘길때.. [1] | myself2 | 2003.06.06 |
홈페이지의 내용을 DB에 담기 [15] | 세죠위그이 | 2003.05.30 |
썸네일 자동생성하고 이미지 사이즈 자동 줄이기... [6] | sMokaHallo | 2003.05.21 |
Wake On Lan 기능 사용하기... [3] | sMokaHallo | 2003.05.17 |
스킨 시스템 구축.(1탄 읽어오기) [11] | 씨파개 | 2003.05.13 |
fastTemplete나 이지템플릿등의 템플릿 소스가 많이 나와있으므로 그걸 이용하시는것이 정신건강상 + 기능상 더 좋을수도 있습니다.