웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->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"));
이 방법이 더 간편할듯하네요^^
제목 | 글쓴이 | 날짜 |
---|---|---|
Javascript + 플래시 칼라피커 [6] | 행복한고니 | 2004.10.08 |
체크박스를 이미지로 사용하기 [7] | 행복한고니 | 2004.10.10 |
배열 스크립트 종합선물세트 | 행복한고니 | 2004.10.12 |
멀티 파일다운로드 꼼수 (새창버전) [1] | 행복한고니 | 2004.10.14 |
XP2인지 체크하여 XP2일때는 팝업허용하라는 메시지 뛰워주기 [3] | 아돌 | 2004.10.19 |
모든 이미지, 텍스트 링크에 점선 없애기 [5] | 이강민 | 2004.10.25 |
JavaScript 구문강조 효과내기 | 파우링 | 2004.10.28 |
행복한고니님의 체크박스를 이미지로 사용하기를 보고... 체크박스옆에 텍스트 부치기 [2] | beMax | 2004.10.29 |
ActiveX 멀티파일업로더 입니다. [9] | by風 | 2004.11.01 |
홈페이지 나갈때 새창띄우기 [2] | piasol | 2004.11.07 |
(수정)배경음악,연월일,시간, 코멘트 셋트.(AM,PM==>오전,오후 순,한국식으로 ...) [4] | 민피디 | 2004.11.10 |
ActiveX 플래시 이미지캡쳐 컨트롤 iFlower [1] | 덴디 | 2004.11.15 |
iFlower 윈도우리스 플래시 ActiveX 컨트롤 | 덴디 | 2004.11.16 |
자바스크립트 암호화 [5] | 손상모 | 2004.11.18 |
로딩중인 페이지에 효과넣기 [4] | LUFFY | 2004.11.20 |
이미지 를 브라우져에서 내맘데로 옮겨두기 [8] | piasol | 2004.12.03 |
이제 미디어플레이어는 가라? 곰플레이어로 실시간으로 감상하자. [13] | ⓣing★™ | 2004.12.05 |
홈페이지를 풀스크린으로 띄우자 - 올플래시로 보이는군요. [21] | Multi_Taeji | 2004.12.10 |
마우스를 대면 이미지가 바뀐다. 롤오버 이미지 [3] | 하진 | 2004.12.19 |
개판 오분전 빙고 [2] | 미친개 | 2004.12.30 |
fastTemplete나 이지템플릿등의 템플릿 소스가 많이 나와있으므로 그걸 이용하시는것이 정신건강상 + 기능상 더 좋을수도 있습니다.