gd, lightbox, slide, popup 적용 다용도 스킨 정보
갤러리 gd, lightbox, slide, popup 적용 다용도 스킨관련링크
첨부파일
본문
형태는 비슷합니다만, 이미 나와있는 스킨처럼 뷰페이지에서 첨부이미지 원본을 강제축소해서 정해진 갯수만큼 하드코딩으로 보여주는 방식이 아닙니다.
모든 첨부이미지에 대하여 썸네일을 생성하고 리스트페이지에서 보여줄 썸네일 갯수나 뷰페이지에서 썸네일 정렬을 위한 줄바꿈 갯수도 글 작성시 설정가능하도록 하였습니다.
제품소개등 몰 관련 뷰페이지에서 응용하시면 좋을것 같습니다.
`백견이 불여일타`라고 http://gnusr.com/g4/bbs/board.php?bo_table=sample_gallery_1 에서 직접 테스트 해보시는게 좋겠습니다.
게시판 설정에서
가로이미지 - 1
이미지 폭 크기 - 400
여분 필드 1 - 100
여분 필드 2 - 100
여분 필드 3 - 5,2,5
입력후 적용해 보시기 바랍니다.
http://www.sir.co.kr/bbs/tb.php/g4_skin/29328 스킨을 기반으로 수정하였으므로 역시 지저분 합니다.
사용하지 않는 파일도 그대로 두었고 주석도 제가 작업한 그대로이므로 성격이 깔끔하신 분들은 청소후 사용하시기 바랍니다.
장식적 요소등 보여지는 것은 사용하시는 분께서 알아서 하시고 기능적인 부분만 참고하시기 바랍니다.
여기에 설명이 부족한 부분은 위 스킨관련 게시물을 참조하시기 바랍니다.
특징;
게시물별 전체 첨부파일에 대한 썸네일과 규격화된 파일을 각각 1개씩 생성하고 이를 바탕으로 `하드코딩 없이 사용자 설정`만으로 리스트 및 뷰페이지에서 이미지 제어가 가능하게 해보았습니다.
리스트나 뷰페이지에서 보여지는 썸네일의 갯수나 정렬,줄바꿈을 글작성 할때 옵션으로 설정가능하게 하였습니다.
- 첨부이미지 가운데 중간에 삭제된 이미지가 있더라도 리스트나 뷰페이지 목록에 영향을 주지않습니다.
게시물 작성;
다른 부분으로 `썸네일설정` 에서 리스트에 보여줄 썸네일 갯수 및 뷰페이지에서 보여줄 썸네일 갯수만 설정하면 됩니다.
write_update.skin.php에서 `정해진 폴더(data/file/table/rs_file)`에 규격화(관리설정 - 이미지 폭 크기` 활용)된 크기의 파일을 생성 저장함
- 원본 강제축소등 이 과정을 대체할 방법이 있으나 `특별한 용도가 있기에 이를 준비하는 차원`에서 이 과정을 넣어봅니다.
게시물 수정;
카테고리, 부가옵션등을 유지해주면서, 여러개 첨부파일 가운데 무작위(중간파일 삭제등)로 삭제 하더라도 리스트나 뷰 페이지에서 정상적으로 보여지도록 코딩하였습니다.
- 글 수정시 편집을 위한 첨부파일 리스트도 썸네일로 처리
리스트;
리스트된 레코드의 모든 첨부파일을 썸네일 생성하는 루틴이 들어있습니다.
- 게시물당 리스트에 보여줄 썸네일 갯수는 글 작성시 게시물별로 설정한다,
뷰페이지;
게시물내 모든 첨부파일을 썸네일 생성하는 루틴이 들어있습니다.
뷰페이지 상단 레코드별 첨부파일의 썸네일 줄바꿈까지 게시물 작성단계에서 설정하게 하였습니다.
썸네일 클릭시 로드되는 타겟 이미지파일을 글 등록,수정시 write_update.skin.php에서 생성된 `규격파일`로 보여줍니다.
이 타겟 이미지 클릭시 팝업으로 원본이미지를 원본 사이즈 그대로 보여줍니다.
- 썸네일 아래 두개의 `ㅁ`중 왼쪽은 라이트박스로, 오른쪽은 이미지윈도우로 팝업링트되어있으니 참고해서 응용하시기 바랍니다.
해야할일;
규격 설정 사이즈보다 `가로나 세로가 모두 작은 파일은 큰쪽이 규격설정 사이즈`로 늘어나는 버그가 있습니다.
기타 코드 최적화가 필요합니다.^^;
라이센스?
이스킨을 응용한 스킨은 꼭꼭 숨겨두시거나 아니면 반드시 공개 하셔야 합니다.^^
모든 첨부이미지에 대하여 썸네일을 생성하고 리스트페이지에서 보여줄 썸네일 갯수나 뷰페이지에서 썸네일 정렬을 위한 줄바꿈 갯수도 글 작성시 설정가능하도록 하였습니다.
제품소개등 몰 관련 뷰페이지에서 응용하시면 좋을것 같습니다.
`백견이 불여일타`라고 http://gnusr.com/g4/bbs/board.php?bo_table=sample_gallery_1 에서 직접 테스트 해보시는게 좋겠습니다.
게시판 설정에서
가로이미지 - 1
이미지 폭 크기 - 400
여분 필드 1 - 100
여분 필드 2 - 100
여분 필드 3 - 5,2,5
입력후 적용해 보시기 바랍니다.
http://www.sir.co.kr/bbs/tb.php/g4_skin/29328 스킨을 기반으로 수정하였으므로 역시 지저분 합니다.
사용하지 않는 파일도 그대로 두었고 주석도 제가 작업한 그대로이므로 성격이 깔끔하신 분들은 청소후 사용하시기 바랍니다.
장식적 요소등 보여지는 것은 사용하시는 분께서 알아서 하시고 기능적인 부분만 참고하시기 바랍니다.
여기에 설명이 부족한 부분은 위 스킨관련 게시물을 참조하시기 바랍니다.
특징;
게시물별 전체 첨부파일에 대한 썸네일과 규격화된 파일을 각각 1개씩 생성하고 이를 바탕으로 `하드코딩 없이 사용자 설정`만으로 리스트 및 뷰페이지에서 이미지 제어가 가능하게 해보았습니다.
리스트나 뷰페이지에서 보여지는 썸네일의 갯수나 정렬,줄바꿈을 글작성 할때 옵션으로 설정가능하게 하였습니다.
- 첨부이미지 가운데 중간에 삭제된 이미지가 있더라도 리스트나 뷰페이지 목록에 영향을 주지않습니다.
게시물 작성;
다른 부분으로 `썸네일설정` 에서 리스트에 보여줄 썸네일 갯수 및 뷰페이지에서 보여줄 썸네일 갯수만 설정하면 됩니다.
write_update.skin.php에서 `정해진 폴더(data/file/table/rs_file)`에 규격화(관리설정 - 이미지 폭 크기` 활용)된 크기의 파일을 생성 저장함
- 원본 강제축소등 이 과정을 대체할 방법이 있으나 `특별한 용도가 있기에 이를 준비하는 차원`에서 이 과정을 넣어봅니다.
게시물 수정;
카테고리, 부가옵션등을 유지해주면서, 여러개 첨부파일 가운데 무작위(중간파일 삭제등)로 삭제 하더라도 리스트나 뷰 페이지에서 정상적으로 보여지도록 코딩하였습니다.
- 글 수정시 편집을 위한 첨부파일 리스트도 썸네일로 처리
리스트;
리스트된 레코드의 모든 첨부파일을 썸네일 생성하는 루틴이 들어있습니다.
- 게시물당 리스트에 보여줄 썸네일 갯수는 글 작성시 게시물별로 설정한다,
뷰페이지;
게시물내 모든 첨부파일을 썸네일 생성하는 루틴이 들어있습니다.
뷰페이지 상단 레코드별 첨부파일의 썸네일 줄바꿈까지 게시물 작성단계에서 설정하게 하였습니다.
썸네일 클릭시 로드되는 타겟 이미지파일을 글 등록,수정시 write_update.skin.php에서 생성된 `규격파일`로 보여줍니다.
이 타겟 이미지 클릭시 팝업으로 원본이미지를 원본 사이즈 그대로 보여줍니다.
- 썸네일 아래 두개의 `ㅁ`중 왼쪽은 라이트박스로, 오른쪽은 이미지윈도우로 팝업링트되어있으니 참고해서 응용하시기 바랍니다.
해야할일;
규격 설정 사이즈보다 `가로나 세로가 모두 작은 파일은 큰쪽이 규격설정 사이즈`로 늘어나는 버그가 있습니다.
기타 코드 최적화가 필요합니다.^^;
라이센스?
이스킨을 응용한 스킨은 꼭꼭 숨겨두시거나 아니면 반드시 공개 하셔야 합니다.^^
추천
3
3
댓글 전체
수고하셨습니다......^^
>>라이센스?
이스킨을 응용한 스킨은 꼭꼭 숨겨두시거나 아니면 반드시 공개 하셔야 합니다.^^
아마도 앞쪽을 택해야 하나요....?
>>라이센스?
이스킨을 응용한 스킨은 꼭꼭 숨겨두시거나 아니면 반드시 공개 하셔야 합니다.^^
아마도 앞쪽을 택해야 하나요....?
으히히^^;; 저라도 주세욥~~**
플록님 감사합니다. 항상 좋은 스킨을 공개해 주시네요.냉큼 쓰겠습니다.^^
감사합니다.
너무 지저분해서 청소좀 하셔야 할겁니다.^^
너무 지저분해서 청소좀 하셔야 할겁니다.^^
고생하셨습니다.^^
스샷에 나온 오토바이도 맘에들고 특히 라이센스가 아주 맘에 듭니다.
스샷에 나온 오토바이도 맘에들고 특히 라이센스가 아주 맘에 듭니다.
다운받으신 안에 오토바이가 있는지 확인해 보시기 바랍니다....
있으면 드라이브나 한번 같이~~~~~~^^
있으면 드라이브나 한번 같이~~~~~~^^
감사합니다.^^
스킨이 허접해서 두발이와 라이센스로 포인트를 ,,, ~*&*&
스킨이 허접해서 두발이와 라이센스로 포인트를 ,,, ~*&*&
허미;; 업그래이드 버전인가요
대단합니다 짝짝짝~~
대단합니다 짝짝짝~~
감사합니다.^^
업그레이드 버전이라기보다는 용도가 조금 다른 스킨이라고 하는게 맞을것 같습니다.
이 스킨은 가장 큰 특징은 게시물별로 첨부된 여러개의 이미지 파일을 모두 썸네일로 생성하는 부분입니다.
뷰페이지를 적절히 수정하시면 다양하게 응용가능하리라 봅니다.
업그레이드 버전이라기보다는 용도가 조금 다른 스킨이라고 하는게 맞을것 같습니다.
이 스킨은 가장 큰 특징은 게시물별로 첨부된 여러개의 이미지 파일을 모두 썸네일로 생성하는 부분입니다.
뷰페이지를 적절히 수정하시면 다양하게 응용가능하리라 봅니다.
어제 이전 버전으로 홈피만들고 있었는데 ^^;
오늘 올려주신거로 대체 해서 써야겠습니다. ~~
정말 감사합니다. ^^; 잘쓰겠습니다.
오늘 올려주신거로 대체 해서 써야겠습니다. ~~
정말 감사합니다. ^^; 잘쓰겠습니다.
코멘트 감사합니다^^
버그리포트 부탁 드립니다.
버그리포트 부탁 드립니다.
화려하군요... 나름대로 잘써 보도록 노력하겠습니다.
공부도 많이 될듯 싶구요
이렇게 좋은 스킨 올려주셔서 감사합니다.
공부도 많이 될듯 싶구요
이렇게 좋은 스킨 올려주셔서 감사합니다.
코멘트 감사합니다.^^
제가 머리 아파 하던 부분들에 대한 공부가 많이 될 듯 합니다.
언제나 주옥같은 팀과 스킨을 올려 주셔서 감사합니다.
언제나 주옥같은 팀과 스킨을 올려 주셔서 감사합니다.
감사합니다.
글 작성후 로드되는 뷰페이지에서 해당 레코드의 모든 첨부파일을 썸네일 생성하고 정렬하는 부분에 나름대로 신경을 썼습니다,
리스트의 썸네일 생성부분과 위 부분만 적용하면 일반적인 갤러리 형태로도 괜찮을것 같습니다.
& 돌아가는 정도만 확인하고 최적화 작업은 유보한 상태로 올린점 참고하세요.
글 작성후 로드되는 뷰페이지에서 해당 레코드의 모든 첨부파일을 썸네일 생성하고 정렬하는 부분에 나름대로 신경을 썼습니다,
리스트의 썸네일 생성부분과 위 부분만 적용하면 일반적인 갤러리 형태로도 괜찮을것 같습니다.
& 돌아가는 정도만 확인하고 최적화 작업은 유보한 상태로 올린점 참고하세요.
감사합니다.
좋아요...
좋아요...
코멘트 감사합니다.^^;
감사합니다..//
그런데 테스트 게시판의 카테고리2에서 자스에러가 뜨네요..
제가 설치해서 해봐도 카테고리2에서 자스에러가 뜨구요..
그런데 테스트 게시판의 카테고리2에서 자스에러가 뜨네요..
제가 설치해서 해봐도 카테고리2에서 자스에러가 뜨구요..
감사합니다.^^
불여우에서 주로 작업하다보니 체크가 제대로 안ㅤㄷㅚㅆ네요.
아래 주석 부분을 찾으셔서 슬라이드 링크에서 $ca_name을 $sca 로 수정해주세요.
<!-- 슬라이드쇼(all), 시작 -->
~~~
<span style='cursor:pointer;'><a href ~~~&sca=<?=$sca?>',750,600); return false;">슬라이드쇼</a></span>
불여우에서 주로 작업하다보니 체크가 제대로 안ㅤㄷㅚㅆ네요.
아래 주석 부분을 찾으셔서 슬라이드 링크에서 $ca_name을 $sca 로 수정해주세요.
<!-- 슬라이드쇼(all), 시작 -->
~~~
<span style='cursor:pointer;'><a href ~~~&sca=<?=$sca?>',750,600); return false;">슬라이드쇼</a></span>
감사합니다/// 잘 해결 되었습니다...
그런데 하나더..욕심을 부리자면.....
view.skin.php에서 왼쪽의 이미지 클릭시 새창으로 이미지가 뜰때....스크롤바가 생기는데 깔끔하게 스크롤바 안보이게 하려면 어찌하면 되나요..
그런데 하나더..욕심을 부리자면.....
view.skin.php에서 왼쪽의 이미지 클릭시 새창으로 이미지가 뜰때....스크롤바가 생기는데 깔끔하게 스크롤바 안보이게 하려면 어찌하면 되나요..
function newWin() {
window.top.open( '~~~, 'width=100 height=100 top=0 left=0 scrollbars resizable status');
에서 scrollbars 입니다.
아예 지우시던지 scrollbars = true/false 이런식일 겁니다.
window.top.open( '~~~, 'width=100 height=100 top=0 left=0 scrollbars resizable status');
에서 scrollbars 입니다.
아예 지우시던지 scrollbars = true/false 이런식일 겁니다.
scrollbars = false 로 했습니다...아주 깨끗합니다..
거듭감사드립니다
거듭감사드립니다
scrollbars = 0/1 이런식도 되는군요^^
체크해주셔서 고맙니다.
체크해주셔서 고맙니다.
드뎌 플록님이 납시는군요~!^^
별말씀을 다하십니다.^^
정리가 안된상태입니다만,
몇분께서 썸네일 문제로 고민하시는것 같아 참고하시라고 올렸습니다.
정리가 안된상태입니다만,
몇분께서 썸네일 문제로 고민하시는것 같아 참고하시라고 올렸습니다.
슬라이드쇼 기능이 간결하고 좋은데..
오버랩, 책장넘기기, 그림섞기 의 기능을 선택해보아도 별 차이가 없네요..???
원래 그런것인지요..
오버랩, 책장넘기기, 그림섞기 의 기능을 선택해보아도 별 차이가 없네요..???
원래 그런것인지요..
요즈음은 워낙 빨라서 웬만해선 잘 보이지도 않는다는 겁니다.^^
slideshow_control.php에서
var effect = new Array; 부분을 만져야 될겁니다.
slideshow_control.php에서
var effect = new Array; 부분을 만져야 될겁니다.
워낙 빨라서 웬만해선 잘 보이지 않는군요..
위의 내용을 만져봐요 역시 너무빠른가봅니다
뭔지 모르고 이것저것 만져보니 그렇겠지만요...
위의 내용을 만져봐요 역시 너무빠른가봅니다
뭔지 모르고 이것저것 만져보니 그렇겠지만요...
잘쓸께요~~
깜솨감솨..ㅋ
깜솨감솨..ㅋ
코멘트 감사합니다.^^
와우~~~
대단한 스킨입니다.
좋은 자료를 공유해 주셔서 감사할 따름입니다.
^^
대단한 스킨입니다.
좋은 자료를 공유해 주셔서 감사할 따름입니다.
^^
감사합니다.^^
바로잡을 부분이 있다면 꼭 알려주세요.~~**
바로잡을 부분이 있다면 꼭 알려주세요.~~**
초보 질문 하나 드립니다.
팝업 이미지 좌측 하단에 화일이름, 날짜 대신 글 올릴때 쓴 내용이 뜨게 할려면 어떻게 해야하는지 아시는 분 알려주심 감사드립니다.
팝업 이미지 좌측 하단에 화일이름, 날짜 대신 글 올릴때 쓴 내용이 뜨게 할려면 어떻게 해야하는지 아시는 분 알려주심 감사드립니다.
라이트박스 팝업에서 title부분을 수정하시면 됩니다.
리스트 페이지에서는 두군데 추가 및 수정이 필요합니다.
191라인 - $list[$i][file][$f][bf_content]배열에 추가함.
$f_arr[$a] = array( 'file' => urlencode($list[$i][file][$f][file]), 'path' => $list[$i][file][$f][path], 'source' => $list[$i][file][$f][source], 'datetime' => $list[$i][file][$f][datetime], 'bf_content' => $list[$i][file][$f][bf_content] );
그다음
245라인 - 링크 타이틀 부분을 아래것으로 대체하세요.
if (file_exists($thumb)) :
$img = "<a href='".$f_arr[$a][path]."/".$f_arr[$a][file]."' rel='lightbox[$bo_table]' title='".$f_arr[$a][source]."/".$f_arr[$a]['bf_content']."'><img src='".$thumb_path."/".$f_arr[$a][file]."' style='border: 1px solid silver;' title='".$f_arr[$a][source]."/".$f_arr[$a]['datetime']."'></a>";
endif ;
/////////////////////////////////////////////////////////
뷰 페이지에서는 이미 배열에 담겨있는 $f_arr[$a]['content']를 활용하면 되겠네요.
294라인입니다.
//lightbox
$limg = "<a href='".$f_file."' rel='lightbox[$wr_id]' title='".$f_arr[$a][source]."/".$f_arr[$a]['content']."'>";
$limg .= "ㅁ</a>";
리스트 페이지에서는 두군데 추가 및 수정이 필요합니다.
191라인 - $list[$i][file][$f][bf_content]배열에 추가함.
$f_arr[$a] = array( 'file' => urlencode($list[$i][file][$f][file]), 'path' => $list[$i][file][$f][path], 'source' => $list[$i][file][$f][source], 'datetime' => $list[$i][file][$f][datetime], 'bf_content' => $list[$i][file][$f][bf_content] );
그다음
245라인 - 링크 타이틀 부분을 아래것으로 대체하세요.
if (file_exists($thumb)) :
$img = "<a href='".$f_arr[$a][path]."/".$f_arr[$a][file]."' rel='lightbox[$bo_table]' title='".$f_arr[$a][source]."/".$f_arr[$a]['bf_content']."'><img src='".$thumb_path."/".$f_arr[$a][file]."' style='border: 1px solid silver;' title='".$f_arr[$a][source]."/".$f_arr[$a]['datetime']."'></a>";
endif ;
/////////////////////////////////////////////////////////
뷰 페이지에서는 이미 배열에 담겨있는 $f_arr[$a]['content']를 활용하면 되겠네요.
294라인입니다.
//lightbox
$limg = "<a href='".$f_file."' rel='lightbox[$wr_id]' title='".$f_arr[$a][source]."/".$f_arr[$a]['content']."'>";
$limg .= "ㅁ</a>";
답변 감사합니다. 참고해서 열심히 만들어 보겠습니다
감사합니다..
코멘트 감사합니다.^^
자동메뉴 너무 잘 쓰고 있구요.
멋진스킨 공개해 주셔서 감사드립니다.
고생 많이 하셨습니다.
멋진스킨 공개해 주셔서 감사드립니다.
고생 많이 하셨습니다.
엉터리 소스를 사용해주시니 제가 감사합니다.^^
view.skin.php 에서 에러가...
Warning: Division by zero in /web/home/eston/html/gnuboard4/skin/board/phosay_gallery_test/view.skin.php on line 221
Warning: Division by zero in /web/home/eston/html/gnuboard4/skin/board/phosay_gallery_test/view.skin.php on line 221
Division 관련 오류메시지가 출력 되었다면,
페이징과 관련된 소스파일이 정상적으로 연결되지 않았거나,
사용자의 수정으로 인해 정상적으로 구동되지 못한 경우일 가능성이 큽니다.
페이징과 관련된 소스파일이 정상적으로 연결되지 않았거나,
사용자의 수정으로 인해 정상적으로 구동되지 못한 경우일 가능성이 큽니다.
새신랑다운 아이콘이군요^^
깨소금 향기가 여기까지 날라옵니다.~~**
깨소금 향기가 여기까지 날라옵니다.~~**
몸이 무겁게 느껴진 적이 없는데...
날씬했던 허리에 걸맞게,
바지가 몸에 착 휘감겼는데...
최근에는 약간 조이는 느낌이 듭니다.
근 2주만에...(ㅜ.x;)
겨울이라 옷이 두꺼워져서 그렇겠지요?!
(정장이라서...)
제가 많이 먹는 편이긴 하나(최소 2인분 이상),
몸무게도 1.5kg 정도 불어난 것 같습니다.
몸무게에 변화가 있다손 치더라도,
기껏해야 500~600 그램을 벗어나지 않는데...
결혼으로 안정감(?!)을 찾아서 그런다고 생각하고 싶은데,
현재 상황이 그것은 아닌듯 하고...
날씬했던 허리에 걸맞게,
바지가 몸에 착 휘감겼는데...
최근에는 약간 조이는 느낌이 듭니다.
근 2주만에...(ㅜ.x;)
겨울이라 옷이 두꺼워져서 그렇겠지요?!
(정장이라서...)
제가 많이 먹는 편이긴 하나(최소 2인분 이상),
몸무게도 1.5kg 정도 불어난 것 같습니다.
몸무게에 변화가 있다손 치더라도,
기껏해야 500~600 그램을 벗어나지 않는데...
결혼으로 안정감(?!)을 찾아서 그런다고 생각하고 싶은데,
현재 상황이 그것은 아닌듯 하고...
대단합니다~
허걱~ 플롯님 스킨은 역쉬~~~굿입니다..
정말 멋지네요. ^^ 감사합니다.
뭔가 있어보입니다.
대단하십니다.
대단하십니다.
코멘트 남겨주신 분들께 감사드립니다.^^
1, 원글에서 밝힌바있는 `규격 설정 사이즈보다 가로나 세로가 모두 작은 파일은 큰쪽이 규격설정 사이즈로 늘어났던` 부분은 원본사이즈를 유지하도록 패치하였습니다.
2, 또한 사용중에 규격을 변경할 경우에도 변경된 규격이 수정을 통해 적용되도록 수정하였습니다.
- write_update.skin.php에서 실행되므로 레코드별로 1회 수정 과정을 거쳐야 하는 번거로룸이 있습니다.
- 참고로 규격 재설정 일괄 적용에 대한 부분은 추후 올리겠습니다.^^
//----------------------------------------
write_update.skin.php 전체코드입니다.
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
//특정 폴더에 규격설정 이미지 생성
$data_path = $g4['path'] . "/data/file/" . $bo_table;
$rs_path = $data_path . "/rs_file";
if (!is_dir($rs_path)) {
@mkdir($rs_path, 0707);
@chmod($rs_path, 0707);
}
$sql=" select * from " . $g4['board_file_table'] . " where bo_table = '" . $bo_table . "' and wr_id = '" . $wr_id . "' order by bf_no asc";
$results = sql_query($sql);
for ($i=0; $row=sql_fetch_array($results); $i++) {
$file = $row['bf_file'];
$dest_file = $data_path ."/". $file;
if (preg_match("/\.(jp[e]?g|gif|png)$/i", $file) && file_exists($dest_file)) {
//--------------------------------------- $board['bo_image_width']에 따른 규격파일 생성
//규격 재설정시 레코드당 수정1회 필요함
$rs_file = $rs_path . "/" . $file;
$size = getimagesize($dest_file);
if ($size[2] == 1)
$src = imagecreatefromgif($dest_file);
else if ($size[2] == 2)
$src = imagecreatefromjpeg($dest_file);
else if ($size[2] == 3)
$src = imagecreatefrompng($dest_file);
else
break;
if ($size[0] >= $size[1]) :
//최대 사이즈 제한 방식
$rate = $board['bo_image_width'] / $size[0];
$width = $board['bo_image_width'];
$height = (int)($size[1] * $rate);
else :
$rate = $board['bo_image_width'] / $size[1];
$width = (int)($size[0] * $rate);
$height = $board['bo_image_width'];
endif;
//규격 설정보다 작은 파일 처리
if (($size[0] < $board['bo_image_width']) and ($size[1] < $board['bo_image_width'])) :
$width = $size[0];
$height = $size[1];
endif;
//규격에 맞지않다면 삭제
if (($width != $board['bo_image_width']) or ($height != $board['bo_image_width'])) :
@unlink($rs_file);
endif;
if (!file_exists($rs_file)) :
$dst = imagecreatetruecolor($width, $height);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $width, $height, $size[0], $size[1]);
//imagepng($dst, $rs_file, $board['bo_2']);
imagejpeg($dst, $rs_file, $board['bo_2']);
chmod($rs_file, 0707);
endif;
}
}
?>
1, 원글에서 밝힌바있는 `규격 설정 사이즈보다 가로나 세로가 모두 작은 파일은 큰쪽이 규격설정 사이즈로 늘어났던` 부분은 원본사이즈를 유지하도록 패치하였습니다.
2, 또한 사용중에 규격을 변경할 경우에도 변경된 규격이 수정을 통해 적용되도록 수정하였습니다.
- write_update.skin.php에서 실행되므로 레코드별로 1회 수정 과정을 거쳐야 하는 번거로룸이 있습니다.
- 참고로 규격 재설정 일괄 적용에 대한 부분은 추후 올리겠습니다.^^
//----------------------------------------
write_update.skin.php 전체코드입니다.
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
//특정 폴더에 규격설정 이미지 생성
$data_path = $g4['path'] . "/data/file/" . $bo_table;
$rs_path = $data_path . "/rs_file";
if (!is_dir($rs_path)) {
@mkdir($rs_path, 0707);
@chmod($rs_path, 0707);
}
$sql=" select * from " . $g4['board_file_table'] . " where bo_table = '" . $bo_table . "' and wr_id = '" . $wr_id . "' order by bf_no asc";
$results = sql_query($sql);
for ($i=0; $row=sql_fetch_array($results); $i++) {
$file = $row['bf_file'];
$dest_file = $data_path ."/". $file;
if (preg_match("/\.(jp[e]?g|gif|png)$/i", $file) && file_exists($dest_file)) {
//--------------------------------------- $board['bo_image_width']에 따른 규격파일 생성
//규격 재설정시 레코드당 수정1회 필요함
$rs_file = $rs_path . "/" . $file;
$size = getimagesize($dest_file);
if ($size[2] == 1)
$src = imagecreatefromgif($dest_file);
else if ($size[2] == 2)
$src = imagecreatefromjpeg($dest_file);
else if ($size[2] == 3)
$src = imagecreatefrompng($dest_file);
else
break;
if ($size[0] >= $size[1]) :
//최대 사이즈 제한 방식
$rate = $board['bo_image_width'] / $size[0];
$width = $board['bo_image_width'];
$height = (int)($size[1] * $rate);
else :
$rate = $board['bo_image_width'] / $size[1];
$width = (int)($size[0] * $rate);
$height = $board['bo_image_width'];
endif;
//규격 설정보다 작은 파일 처리
if (($size[0] < $board['bo_image_width']) and ($size[1] < $board['bo_image_width'])) :
$width = $size[0];
$height = $size[1];
endif;
//규격에 맞지않다면 삭제
if (($width != $board['bo_image_width']) or ($height != $board['bo_image_width'])) :
@unlink($rs_file);
endif;
if (!file_exists($rs_file)) :
$dst = imagecreatetruecolor($width, $height);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $width, $height, $size[0], $size[1]);
//imagepng($dst, $rs_file, $board['bo_2']);
imagejpeg($dst, $rs_file, $board['bo_2']);
chmod($rs_file, 0707);
endif;
}
}
?>
색감이 참 좋습니다.
1. LightBox
JS버젼이 아닌 Plus버젼으로 할순 없을까요
너무 무거워져서 약간 부담스럽네요. ㅡㅜ
2. EXIF정보 표시 기능을 추가할순 없을까요?
JS버젼이 아닌 Plus버젼으로 할순 없을까요
너무 무거워져서 약간 부담스럽네요. ㅡㅜ
2. EXIF정보 표시 기능을 추가할순 없을까요?
잘 쓰겠슴다
잘쓰것습니다.
모르는것, 안되는건 물어볼게요
모르는것, 안되는건 물어볼게요
ㄳㄳ
멋지네요..
잘 사용 하겠습니다.
잘 사용 하겠습니다.
멋찌다!! 감삽니다
감사합니다.
감사합니다. ^^*
갤러리 test
꾸벅~~감사드립니다.
찾던거네요. 언제나 느끼는 거지만 플록님 작품보면 항상 감탄사가 절로납니다. 감사합니다.
와~ 정말 대단합니다...
꼭 찾던겁니다.^^
좋은 자료 감사합니다.~*