작은 썸네일이 수정시 안바뀝니다.문의드립니다.

작은 썸네일이 수정시 안바뀝니다.문의드립니다.

QA

작은 썸네일이 수정시 안바뀝니다.문의드립니다.

본문

작은 썸네일이 수정시 안바뀝니다.문의드립니다.

 

균이 님이 공개해주신 스킨입니다. 

 

그누보드 5용으로 수정후 처음에 글쓸때는 이미지가 잘들어갑니다.  이미지 수정을 누르면 위 큰이미지는 바뀌는데 

 

아래 작은이미지는 바뀌지 않습니다. 

 

이미지 삭제후 다시 다른이미지를 올려도 예전이미지가 다시 올라옵니다. 

 

어디를 손봐야할지 모르겠습니다. 

 

http://sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=110744&sca=%EA%B0%A4%EB%9F%AC%EB%A6%AC&sfl=wr_subject%7C%7Cwr_content&stx=%EB%B7%B0%ED%8E%98%EC%9D%B4%EC%A7%80%EC%9A%A9  

1c3d5fbd3f4a7f45ba8a25e4a3025863_1419921339_3579.jpg
 

 

view_img_contents.php 

소스는 다음과 같습니다. 

 

$g4[path] ="..";

$board_skin_path= "../skin/board/".$board[bo_skin];

$imgPath="$g4[path]/data/file/$bo_table";

$view_width=260;  $view_height=200; // 보여질 큰 이미지 가로, 세로

 

//$resizex=800;  $resizey=450; //원본 큰 이미지 리사이징 가로,세로(리사이징 하지않으면 주석처리)

 

$thumbx=40;  $thumby=40; //썸네일 가로, 세로

$thumbViewNum=4; //보여질 리스트용 썸네일 갯수

 

$thumb_div_width=($thumbViewNum * ($thumbx+9))."px";;

$thumbNum=$view[file][count];

?>

 

<style type='text/css'>

.thumb{padding:2px; border:1px solid #ccc; cursor:pointer;}

.pre_next{font:bold 40pt 굴림;color:#ccc; cursor:pointer;}

.preBtnOver{font:bold 40pt 굴림;color:#FF854A; cursor:pointer;}

 

#orgdiv{ width:<?=$view_width?>px;  height:<?=$view_height?>px; overflow:hidden; z-index:10;

text-align:center;  cursor:pointer; background:#ffffff; position:relative;}

 

.thumbpre_next{font:bold 20pt 굴림;color:#0067CE; cursor:pointer;}

.thumbBtnOver{font:bold 20pt 굴림;color:#FF854A; cursor:pointer;}

 

#img_td{border:1px solid #cdcdcd; background:#ffffff;}

#btn_td, #thum_td{border:1px solid #cdcdcd; padding:5px; background:#eaeaea;}

#btn_td a:link, a:hover, a:visited{color:#004080}

</style>

<div style="width:100px; height:20px; "></div>

<b style="color: rgb(187, 0, 32);  font-family: 나눔고딕, NanumGothic, sans-serif; font-size: 19px; line-height: 28px;">사진보기</b>

<table style="margin-left:-1px; margin-top:20px;" width="320" align="center" cellpadding="0" cellspacing="1" border='0'>

<tr>

<td align='center' width="100%" height='<?=($view_height+30)?>'  id='img_td'><!-- 큰 이미지-->

 

<?if($view[file][count]){?>

<table  align="center" cellpadding="0" cellspacing="0" border="0" width='100%' height='100%'>

<tr><td width='15' class='pre_next' onmousedown="pre_view(1)" onmouseover="this.className='preBtnOver';" onmouseout="this.className='pre_next';"><img src="/skin/board/ts/img/hwa.gif" width="40" height="33" /></td>

 

<td align="center"><div  id="orgdiv"><img  id="orgmg" onclick="pop_view(this)"></div></td>

 

<td width='15' class='pre_next' onmousedown="pre_view(2)" onmouseover="this.className='preBtnOver';" onmouseout="this.className='pre_next';"><img src="/skin/board/ts/img/hwa1.gif" width="40" height="33" /></td>

</tr></table>

 

<?}else echo "<div style='color:#666666'>< 등록된 이미지가 없습니다 ></div>";?>

</td></tr>

 

<tr>

<td align="center" id='thum_td'><!--썸네일-->

<table align="center" cellpadding="0" cellspacing="1" border="0">

<tr>

<?if($thumbNum>$thumbViewNum){?>

<td width='40' class='thumbpre_next' onmousedown="thumbpre_view(1)" onmouseover="this.className='thumbBtnOver';" onmouseout="this.className='thumbpre_next';" align='center'><img src="/skin/board/ts/img/oneleft.gif" width="20" height="19" /> </td>

<?}?>

<td align='center'>

<?if($thumbNum>$thumbViewNum){?>

<div style='position:relative;overflow:hidden;width:<?=$thumb_div_width?>; height:<?=($thumby+10)?>px;' id='thumDivk'>

  <div style='position:absolute;top:0; left:0; text-align:center;' id='thumDivk2'>

<?}?>

 

<table align="center" cellpadding="0" cellspacing="3" border="0"><tr>

<? $h=-1;

for($i=1;$i<$view[file][count]; $i++){ 

if(!$view[file][$i][view]){$thumbNum--;  continue; }

 

    $thum_img="$imgPath/thumbs/{$view[wr_id]}_{$i}.jpg"; 

$h++;

 

//큰 이미지 리사이즈

   if($resizex && $resizey &&  ($view[file][$i][image_width]>$resizex || $view[file][$i][image_height]>$resizey) ){   

 $ret_wh= image_resizetg($view[file][$i][file], $resizex, $resizey, $bo_table, $view[wr_id], $i);

      if($ret_wh[0] && $ret_wh[1]){

    $view[file][$h][image_width]=$ret_wh[0]; $view[file][$h][image_height]=$ret_wh[1];

     }

    }

 //썸네일 만들기

if(!file_exists($thum_img))

tg_thumb($view[file][$i][file],$thumbx, $thumby, $bo_table, $view[wr_id], $i );

 

?>

<td class='thumb'  align='center' onmouseover="over_cell(<?=$h?>, this)" onmouseout="out_cell(<?=$h?>,this)" onmousedown="view_image(<?=$h?>)"  id="thumTD<?=$h?>"><img src="<?=$thum_img?>" ></td>

<?}?>

</tr></table>

 

<?if($thumbNum>$thumbViewNum){?>

  </div></div>

<?}?>

 

</td>

<?if($thumbNum>$thumbViewNum){?>

<td width='40' class='thumbpre_next' onmousedown="thumbpre_view(2)" onmouseover="this.className='thumbBtnOver';" onmouseout="this.className='thumbpre_next';" align='center'><img src="/skin/board/ts/img/oneright.gif" width="20" height="19" /></td>

<?}?>

 

</tr></table>

 

</td></tr>

</table>

<script src="<?=$board_skin_path?>/jquery-ui.min.js" type="text/javascript"></script>

<script type="text/javascript">

userAgent = navigator.userAgent.toLowerCase(); 

chrom= /chrom/.test(userAgent);

 

imgSize=new Array();

<? $data=''; $deli=''; $h=-1;

for($k=1; $k<$view[file][count]; $k++){ if(!$view[file][$k][view]) continue;

$data.=$deli.$view[file][$k][file]; $deli="|"; $h++;

      echo "imgSize[$h]=\"{$view[file][$k][image_width]}|{$view[file][$k][image_height]}\";";

}

?>

 

Skin_Path="<?=$board_skin_path?>";

viewSize=<?=$view_width?>; 

viewSizeH=<?=$view_height?>;

 

data="<?=$data?>";

imgPath="<?=$imgPath?>";

temp=data.split("|");

var imgObj= document.getElementById('orgmg');

var current=0;

var objk;

var thumbViewNum=<?=$thumbViewNum?>;

 

var cNum=0;

var page= Math.ceil(temp.length/thumbViewNum)

var eek=(<?=$thumbx?>*1+9)*thumbViewNum;

var movek;

var preTD=0;

 

$(document).ready(function(){ if(!data) return;

preload_Image=new Array();

for(i=0; i<temp.length; i++){ 

preload_Image[i] = new Image();

preload_Image[i].src=imgPath+"/"+temp[i];

 

if(i==0){ imgObj.src=preload_Image[0].src

  orgww= imgSize[0].split('|');

  if(orgww[0]> viewSize) imgObj.width= viewSize;

 

}

 

}

 

 objk=document.getElementById("orgdiv");

 

 if(orgww[1]<parseInt(viewSizeH))  objk.style.height=orgww[1]+'px';

$('#thumTD0').css('backgroundColor','#FF0000');

 

});

 

 

function pop_view(obj){

 pww=screen.width; phh=screen.height-25;

 opt="width="+pww+",height="+phh;

 window.open( Skin_Path+"/image_view.html",'',opt);

}

 

 

var c_old=0;

function pre_view(vv){ if(!data) return;

  if(vv==1){ current--;    if(current<0) current=temp.length-1; }

  else{current++;   if(current>temp.length-1) current=0; }

 

 view_image(current);

 

     for(h=0; h<temp.length; h++) document.getElementById('thumTD'+h).style.backgroundColor='';

 

  document.getElementById('thumTD'+current).style.backgroundColor='#FF0000';

     ccp=Math.floor(current/thumbViewNum)

     if(ccp!=cNum){cNum=ccp;    cmovek=ccp*eek*-1; $("#thumDivk2").animate({left: cmovek+'px'}, 1000); }

     c_old=current;

}

var effectk=new Array( "fade","explode","explode");

var rnd;

var selectedEffect;

var Rnd=0;

var hhk;

function view_image(vv){

sizek=imgSize[vv].split('|');

current=vv;

///////////////////////////////

hhk= sizek[1]<=viewSizeH? sizek[1] : viewSizeH;

objk.style.height=hhk+'px';

objk.style.width=viewSize+"px";

    selectedEffect="fade";

    options = {}; ani_time=400;

$('#orgdiv').effect( selectedEffect, options, ani_time, callback );

 

}

 

function callback() { 

imgObj.src=preload_Image[current].src;

sizek=imgSize[current].split('|');

 

objk.style.left='0px';

 

var Rd2=Math.round(Math.random()) %2;

if(Rd2 ==0 || chrom) $('#orgdiv').fadeIn("slow");

     else $('#orgdiv').slideDown("slow");

 

 imgObj.width= sizek[0]> viewSize? viewSize: sizek[0];

}

 

function over_cell(num, obj){

document.getElementById('thumTD'+current).style.backgroundColor='';

document.getElementById('thumTD'+c_old).style.backgroundColor='';

  document.getElementById('thumTD'+preTD).style.backgroundColor='';

    obj.style.backgroundColor="#FF0000";

c_old=preTD=num;

}

 

function out_cell(num, obj){

if(current!=num) obj.style.background='';

 document.getElementById('thumTD'+current).style.backgroundColor='#FF0000';

}

 

function thumbpre_view(vv){

 if(vv==1){ cNum--; if(cNum<0) cNum=page-1; }

else{cNum++; if(cNum>page-1) cNum=0;  }

  movek=-1*cNum*eek;

  $("#thumDivk2").animate({left: movek+'px' }, 1000);

}

</script>

 

 

이 질문에 댓글 쓰기 :

답변 3

스킨폴더에 write_update.head.skin.php를 만들고 아래 내용을 넣으면

이미지가 수정/삭제 되면 썸네일은 자동으로 삭제 되어 새로운 썸네일을 만듭니다

<?

$g4[path] = "..";

?>

 

임시 인터넷 파일이 남아있어서 그런 것 아닐까요?
새로고침을 하거나 관리자 기능에서 썸네일 일괄삭제를 해보시거나...

프로그램 구조상 ./data/file/게시판명/이미지파일 을 썸네일로 추출하여 ./data/file/게시판명/thumb/게시물id_파일번호 로 저장하고 해당 파일명이 있으면 썸네일을 다시 생성하지 않습니다.  

답변을 작성하시기 전에 로그인 해주세요.
전체 129,111 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT