[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 2,641건 62 페이지
  • RSS
기술자료 목록
1421
일반   15325  2013-08-18 15:15  
1420
etc쇼핑몰   16229  2013-08-17 00:42 ~ 2013-08-19 00:00  
1419
일반   14072  2013-08-16 18:42  
1418
그누보드   11778  2013-08-16 21:05  
1417
Adobe   36370  2013-08-13 23:32  
1416
MSSQL   12809  2013-08-08 22:14  
1415
그누보드   14997  2013-07-30 19:30 ~ 2021-08-02 21:49  
1414
그누보드   13776  2013-07-29 22:14  
열람
그누보드   22765  2013-07-25 23:48  
1412
JavaScript   35948  2013-07-24 22:44 ~ 2018-01-04 12:28  
1411
SNS   17511  2013-07-24 22:00 ~ 2018-06-20 22:07  
1410
그누보드   31188  2013-07-24 02:42  
1409
일반   14995  2013-07-21 22:18  
1408
일반   16638  2013-07-16 12:47 ~ 2016-02-22 00:00  
1407
그누보드   13586  2013-07-06 15:00 ~ 2022-04-26 09:41  
1406
그누보드   15838  2013-07-06 14:33 ~ 2021-08-02 22:39  
1405
전자결제   46921  2013-07-04 15:33 ~ 2017-11-06 04:14  
1404
JavaScript   21143  2013-07-02 12:11 ~ 2014-08-20 00:00  
1403
HTML   16056  2013-06-29 18:48  
1402
HTML   16512  2013-06-29 18:47  

검색

해피정닷컴 정보

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

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