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

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

QA

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

답변 3

본문

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

 

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

 

그누보드 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_파일번호 로 저장하고 해당 파일명이 있으면 썸네일을 다시 생성하지 않습니다.  

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 48
© SIRSOFT
현재 페이지 제일 처음으로