본문에서 여러개 첨부 이미지를 한번에 모두 보기 > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

본문에서 여러개 첨부 이미지를 한번에 모두 보기 정보

본문에서 여러개 첨부 이미지를 한번에 모두 보기

본문

첨부된 이미지를 한눈에 볼수 있습니다.
 
기능...
1. 작은이미지에 마우스를 이동하면 아래쪽에 큰 이미지가 보입니다.
2. 작은 이미지를 클릭하면 새창에서 이미지가 보입니다.
 
 
viw.skin.php 에서 아래 내용을 
        <?
        // 파일 출력
        for ($i=0; $i<=count($view[file]); $i++) {
            if ($view[file][$i][view])
                echo $view[file][$i][view] . "<p>";
        }
        ?>
 
 
다음과 같이 교체합니다.
 
 
<SCRIPT LANGUAGE='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";
<?
//파일 뽑기
$sql2_hp_view_img = " 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_hp_view_img = sql_query($sql2_hp_view_img);
for ($j=0; $row2_hp_view_img = sql_fetch_array($result2_hp_view_img); $j++) {
  $view_one = "{$g4['path']}/data/file/{$bo_table}/{$row2_hp_view_img['bf_file']}";
?>
  view_img<?=$j?> = new Image();
  view_img<?=$j?>.src = "<?=$g4['path']?>/data/file/<?=$bo_table?>/<?=$row2_hp_view_img['bf_file']?>";
<? } ?>
function bgChange(imgName) {
  document.all.view_img.src = eval(imgName + ".src");
}
//-->
</SCRIPT>
<table width="100%" cellspacing="0" cellpadding="0" border="0" align="center">
  <tr>
    <td style="padding:10 0 20 0;" align="center">
<?
//파일 뽑기
$sql_hp_view_img = " 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_hp_view_img = sql_query($sql_hp_view_img);
for ($i=0; $row_hp_view_img = sql_fetch_array($result_hp_view_img); $i++) {
 
  //썸네일 코드 시작
  $data_path = $g4['path'] . "/data/file/{$bo_table}";//라이브러리 파일 참조
  $thumb_path = $data_path . '/thumbOpen';
 
  $view_w = 100; //썸네일 가로사이즈
  $view_h = 75; //썸네일 세로사이즈
  $sch_q = 100; //썸네일 퀼리티
 
  if (!is_dir($thumb_path)) {
    @mkdir($thumb_path, 0707);
    @chmod($thumb_path, 0707);
  }
  $filename = $row_hp_view_img[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 = $view_w / $size[0];
      $height = (int)($size[1] * $rate);
     
      if ($height < $view_h)
        $dst = imagecreatetruecolor($view_w, $height);
      else
        $dst = imagecreatetruecolor($view_w, $view_h);
      imagecopyresampled($dst, $src, 0, 0, 0, 0, $view_w, $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('<?=$data_path?>/<?=$filename?>')" onMouseOver="bgChange('view_img<?=$i?>');" onMouseOut="bgChange('view_img<?=$i?>');"><img src='<?=$thumb?>' border=0 width="69" height="60"></a>
<?
    //onMouseOut="bgChange('clear');"
  }
}
?>
    </td>
  </tr>
  <tr>
    <td align="center" valign="top"><img src="<?=$view_one?>" name="view_img" border="0"></td>
  </tr>
</table>
추천
2

댓글 6개

소스에서  sql 쿼리 선언문 변경했습니다.
간혹 왼쪽 메뉴, 퀵 메뉴 등에서 sql 쿼리를 선언해서 사용하는것과 중복되어 오류가 나는 경우가 있더군요..
그래서 sql 선언문을 중복되지 않을수 있는 것으로 사용 수정했습니다.
전체 3,309 |RSS
그누4 팁자료실 내용 검색

회원로그인

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