웹마스터 팁
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"));
이 방법이 더 간편할듯하네요^^
제목 | 글쓴이 | 날짜 |
---|---|---|
[추천 소스] 최신의 인기가요 뽑아오는 PHP프로그램 [3] | 제누스 | 2002.03.28 |
[수정본]남은 계정 용량 보여주는 PHP 프로그램 [9] | 제누스 | 2002.03.28 |
[수정본]MP3파일를 검색하여 윈앰프로 실시간 감상하기 | 제누스 | 2002.03.28 |
[Yangkun] (함수) 간단 각종 Global 변수 검사 [1] | 양군 | 2002.03.31 |
Hide-Show-Menu 를 PHP로 구현하기... [7] | TryZ | 2002.04.06 |
[수정+파일첨부]NZEO처럼 모드 변경 만들기 - with cookie [6] | TheMics | 2002.04.07 |
[추천 소스] 게시판 답글 알고리즘..(서기생각 -_-;;) [2] | 서기 | 2002.04.10 |
Zero Counter ver 0.9b 이미지 카운터로 만들기.. [5] | _a_SPD_a_ | 2002.04.15 |
[ 삼항연산 ] 조건문 리턴 [6] | 불티나 | 2002.04.20 |
PHP로 아바타를 구현해 봅시다. [18] | ★Zzony~ | 2002.05.13 |
간단한 퀴즈? 프로그램을 짜보자구요~^^ [4] | teenteenv | 2002.05.15 |
NaN ,Undifind, Null 이 먼 말이 다냐? [2] | 최후의성전 | 2002.05.15 |
접속 IP 알아보기..^^ [11] | ZipShin | 2002.05.16 |
echo도 많이 유용하게 사용할수있습니다..^^ [14] | ZipShin | 2002.05.19 |
제가 쓰는 mysql 검색알로리즘 입니다. [5] | 콩알™ | 2002.05.20 |
서기가 쓰는 Echo [12] | 서기 | 2002.05.20 |
MYSQL에 접속하기..^^ [9] | ZipShin | 2002.05.20 |
초보자를 위한 PHP강좌 파일 [chm형식] [5] | ZipShin | 2002.05.21 |
제로보드 상황판때기(?) 만들기... [9] | _a_SPD_a_ | 2002.05.28 |
[씽크식 PHP] 출력, 어떤 방법이 빠를까? [11] | John Sync. | 2002.05.29 |
fastTemplete나 이지템플릿등의 템플릿 소스가 많이 나와있으므로 그걸 이용하시는것이 정신건강상 + 기능상 더 좋을수도 있습니다.