웹마스터 팁
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"));
이 방법이 더 간편할듯하네요^^
제목 | 글쓴이 | 날짜 |
---|---|---|
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 |
none 과 null 처리 문제 해결법 [5] | 허현승 | 2003.05.12 |
세션파일 크기/만들어진 시간체크해서 정해진 시간이후엔 파일 지우기?;; (라고 써야되낭? ;;) [6] | 다오케이 | 2003.05.12 |
PHP+MSSQL?(수정판) [11] | 씨파개 | 2003.05.10 |
이미지 전용 파일업로드시의 확장자 체크시.. [4] | 특급잠수부 | 2003.05.07 |
mysql_fetch_row n mysql_fetch_array n mysql_fetch_object [4] | sMokaHallo | 2003.05.06 |
if 시리즈 2탄.. ㅡㅡ;; [9] | 씨파개 | 2003.05.05 |
PHP 확장 함수를 이용한 exif 정보 출력 [1] | NoSoRi | 2003.04.30 |
if 시리즈 1탄! [15] | 씨파개 | 2003.04.28 |
ID3v1태그 읽는 함수입니다. [4] | 김승태 | 2003.04.27 |
fastTemplete나 이지템플릿등의 템플릿 소스가 많이 나와있으므로 그걸 이용하시는것이 정신건강상 + 기능상 더 좋을수도 있습니다.