[G4] 상세페이지에 첨부된 이미지를 썸네일로 생성, 마우스 오버 큰 이미지 > 기술자료 | 해피정닷컴

[G4] 상세페이지에 첨부된 이미지를 썸네일로 생성, 마우스 오버 큰 이미지 > 기술자료

본문 바로가기

사이트 내 전체검색

[G4] 상세페이지에 첨부된 이미지를 썸네일로 생성, 마우스 오버 큰 이미지 > 기술자료

그누보드 [G4] 상세페이지에 첨부된 이미지를 썸네일로 생성, 마우스 오버 큰 이미지

페이지 정보


본문



http://sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=136701 의 내용을 참고해서
어느 스킨에나 적용할수 있도록 정리했습니다.

그누보드 / skin / board / basic / view.skin.php  의 105~111라인

        <?
        // 파일 출력
        for ($i=0; $i<=count($view[file]); $i++) {
            if ($view[file][$i][view])
                echo $view[file][$i][view] . "<p>";
        }
        ?>


를 아래 내용으로 변경


<script type="text/javascript">
// 이미지뷰어
<!--
  var win= null;
  function View_Open(img, w, h)
  {
    var winl = (screen.width-w)/2;
    var wint = (screen.height-h)/3;
    var settings  ='height='+h+',';
        settings +='width='+w+',';
        settings +='top='+wint+',';
        settings +='left='+winl+',';
        settings +='scrollbars=yes,';
        settings +='resizable=yes,';
        settings +='status=no';

    win=window.open("","newWindow",settings);
    win.document.open();
    win.document.write ("<html><head><title>원본 이미지 보기</title></head>");
    win.document.write ("<script>function init(){window.resizeBy(document.all.pop_img.width-document.body.clientWidth, document.all.pop_img.height-document.body.clientHeight+10);}</script>");
    win.document.write ("<body bgcolor='white' topmargin='0' leftmargin='0' marginwidth='0' marginheight='0' oncontextmenu='return false' ondragstart='return false' onkeydown='return false' onselectstart='return false' onload='init();'>");
    win.document.write ("<img src='"+img+"' border='0' onclick='window.close();' style='cursor:hand' title='닫기' id='pop_img'>");
    win.document.write ("</body></html>");
    win.document.close();
  }

  image_directory = "";  //배경이미지 경로
  clear = new Image();  clear.src = image_directory + "./img/blank.gif";
  <?php
  //파일 뽑기
  $sql2 = " select bf_file from $g4[board_file_table] where bo_table = '$bo_table' and wr_id = '$wr_id' order by bf_no limit 0, 10 ";
  $result2 = sql_query($sql2);
  for ($j=0; $row2 = sql_fetch_array($result2); $j++) {
    $view_one = "{$g4['path']}/data/file/{$bo_table}/{$row2['bf_file']}";
    ?>
    view_img<?php echo $j; ?> = new Image();
    view_img<?php echo $j; ?>.src = "<?php echo $g4['path'] ."/data/file/". $bo_table ."/". $row2['bf_file']; ?>";
    <?php
  }
  ?>

  function bgChange(imgName) {
    document.all.view_img.src = eval(imgName + ".src");
  }
//  -->
</script>
<?php
  //$img_bo_9 = explode("x",$board[bo_9]);
  //$thums_width = $img_bo_9[0];
  //$thums_height = $img_bo_9[1];
  $thumb_width  = "680"; // 큰이미지 폭
  $thumb_height = "410"; // 큰이미지 높이
  $thums_width  = "164"; // 작은이미지 폭
  $thums_height = "99";  // 작은이미지 높이
?>
<table width="<?php echo $thumb_width; ?>" cellspacing="0" cellpadding="0" border="0" align="center">
  <tr>
    <td style="padding:4px 0 4px 0px;" align="center"><div style='width:<?php echo $thumb_width; ?>px; position:relative; overflow:hidden;' align=center><a href="javascript:void(0);" onClick="View_Open('<?php echo $view_one; ?>')"><img src="<?php echo $view_one; ?>" name="view_img" border="1" width="<?php echo $thumb_width; ?>" height="<?php echo $thumb_height; ?>" style="border-color:#161616;"></a></div></td>
  </tr>
  <tr>
    <td align="left" style="padding:8px 0 15px 0px;"><?php
    // 전체 첨부파일 갯수 체크
    $sql_tot = " select bf_file from $g4[board_file_table] where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_file <> '' ";
    $result_tot = mysql_query($sql_tot);
    $tot_file = mysql_num_rows($result_tot);
    //echo $tot;

    if ($tot_file > 1) { // 첨부파일이 한개이상 일때만 하단 썸네일 이미지 보이기
      //파일 뽑기
      $sql = " select bf_file from $g4[board_file_table] where bo_table = '$bo_table' and wr_id = '$wr_id' order by bf_no limit 0, 10 ";
      $result = sql_query($sql);

      for ($i=0; $row = sql_fetch_array($result); $i++) {
        //썸네일 코드 시작
        $data_path = $g4['path'] . "/data/file/{$bo_table}";//라이브러리 파일 참조
        $thumb_path = $data_path . '/_thumbview';
        $sch_q = "100"; //썸네일 퀼리티

        if (!is_dir($thumb_path)) {
          @mkdir($thumb_path, 0707);
          @chmod($thumb_path, 0707);
        }
        $filename = $row[bf_file]; //파일명
        $thumb = $thumb_path.'/'.$filename; //썸네일

        if (!file_exists($thumb)) {
          $file = $data_path.'/'.$filename; //원본

          if (preg_match("/\.(jp[e]?g|gif|png)$/i", $file) && file_exists($file)) {
            $size = getimagesize($file);

            if ($size[2] == 1)
              $src = imagecreatefromgif($file);
            else if ($size[2] == 2)
              $src = imagecreatefromjpeg($file);
            else if ($size[2] == 3)
              $src = imagecreatefrompng($file);
            else
              continue;

            $rate = $thums_width / $size[0];
            $height = (int)($size[1] * $rate);

            if ($height < $thums_height)
              $dst = imagecreatetruecolor($thums_width, $height);
            else
              $dst = imagecreatetruecolor($thums_width, $thums_height);

            imagecopyresampled($dst, $src, 0, 0, 0, 0, $thums_width, $height, $size[0], $size[1]);
            imagejpeg($dst, $thumb_path.'/'.$filename, $sch_q);
            chmod($thumb_path.'/'.$filename, 0707);
          }
        }

        if (file_exists($thumb) && $filename) {
        ?>
        <a href="javascript:void(0);" onclick="View_Open('<?php echo $data_path ."/". $filename; ?>')" onmouseover="bgChange('view_img<?php echo $i; ?>');" onmouseout="bgChange('view_img<?php echo $i; ?>');"><img src='<?php echo $thumb; ?>' border="1" width="<?php echo $thums_width; ?>" height="<?php echo $thums_height; ?>" style="border-color:#d5d5d5;" /></a>&nbsp;
        <?php
        //onMouseOut="bgChange('clear');"
        }
      }
    } // 첨부파일이 한개이상 일때만 하단 썸네일 이미지 보이기
    ?></td>
  </tr>
</table>


참고자료
http://sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=136701

댓글목록

등록된 댓글이 없습니다.


Total 459건 15 페이지
  • RSS
기술자료 목록
179
그누보드   13407  2013-10-06 20:04  
178
그누보드   19724  2013-09-14 13:43 ~ 2023-11-06 09:20  
177
그누보드   14708  2013-09-06 22:28  
176
그누보드   15105  2013-09-05 10:41 ~ 2018-11-16 02:59  
175
그누보드   11972  2013-08-29 00:48  
174
그누보드   11773  2013-08-16 21:05  
173
그누보드   14983  2013-07-30 19:30 ~ 2021-08-02 21:49  
172
그누보드   13773  2013-07-29 22:14  
열람
그누보드   22754  2013-07-25 23:48  
170
그누보드   31184  2013-07-24 02:42  
169
그누보드   13576  2013-07-06 15:00 ~ 2022-04-26 09:41  
168
그누보드   15831  2013-07-06 14:33 ~ 2021-08-02 22:39  
167
그누보드   15789  2013-06-19 15:56  
166
그누보드   13268  2013-05-22 05:39  
165
그누보드   12693  2013-05-10 02:15  
164
그누보드   18446  2013-05-03 16:09  
163
그누보드   14933  2013-04-25 01:32  
162
그누보드   22805  2013-04-17 00:31  
161
그누보드   14170  2013-02-14 13:35  
160
그누보드   12113  2013-01-26 23:00  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2024 해피정닷컴. All Rights Reserved.