첨부 이미지 전체 보기 팝업버전 > 그누4 팁자료실

그누4 팁자료실

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

첨부 이미지 전체 보기 팝업버전 정보

첨부 이미지 전체 보기 팝업버전

본문

음... 영카트에는 삽입된 이미지 보기 방식입니다..

그냥 기존 그누보드 소스 + 해피정님 소스를 이용하였습니다.

해피정님 사전에 양해가 없었던점 죄송합니다.

삭제를 원하신다면 곧바로 삭제 처리 하겠습니다..


##########################################################

용도
  - 일반 게시판에서 첨부파일을 이미지들을 view페이지에서 썸네일이나 리사이즈 하여서
         목록 형식으로 보여줄경우가 있습니다. 또한 큰 이미지 보기 버튼을 view 삽입 할경우
         유용하리라 생각듭니다.


1. /bbs/ 폴더에 view_image.php 파일을 생성합니다.
( 해당 코드는 board.php, view.php 파일을 필요한부분만 합친겁니다.)

################## 아래 해당 코드를 입력합니다 ################
<?
include_once("./_common.php");

if (!$board[bo_table])
{
    if ($cwin) // 코멘트 보기
       alert_close("존재하지 않는 게시판입니다.", $g4[path]);
    else
       alert("존재하지 않는 게시판입니다.", $g4[path]);
}

if (!$bo_table)
{
    $msg = "bo_table 값이 넘어오지 않았습니다.\\n\\nboard.php?bo_table=code 와 같은 방식으로 넘겨 주세요.";
    if ($cwin) // 코멘트 보기
        alert_close($msg);
    else
        alert($msg);
}

// wr_id 값이 있으면 글읽기
if ($wr_id)
{
    // 글이 없을 경우 해당 게시판 목록으로 이동
    if (!$write[wr_id])
    {
        $msg = "글이 존재하지 않습니다.\\n\\n글이 삭제되었거나 이동된 경우입니다.";
        if ($cwin)
            alert_close($msg);
        else
            alert($msg, "./board.php?bo_table=$bo_table");
    }
}

include_once("$g4[path]/head.sub.php");

if (!($board[bo_use_comment] && $cwin)) {


if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
    @include_once("$board_skin_path/view.head.skin.php");
    $view = get_view($write, $board, $board_skin_path, 255);
    include_once("$board_skin_path/view_image.skin.php");
}

include_once("$g4[path]/tail.sub.php");
?>
#####################################################

2. 해당 게시판 skin 폴더에 view_image.skin.php 파일을 만듭니다.

3. 해피정님 소스를 붙여놓습니다. ( 클릭시 이미지 팝업창 띄우기 등 제거 - 아래 소스)
주소 :
http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=16087&sca=&sfl=wr_subject%7C%7Cwr_content&stx=%C7%D1%B9%F8+%BA%B8%B1%E2&sop=and

#############################################
<scRIPT LANGUAGE='Javascript'>
<!--
// 이미지뷰어
var win= null;
 
image_directory = "";   //배경이미지 경로
clear_img = new Image();  clear_img.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.getElementById('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);" onMouseOver="bgChange('view_img<?=$i?>');" onMouseOut="bgChange('view_img<?=$i?>');"><img src='<?=$thumb?>' border=0 width="69" height="60"></a>
<?
    //onMouseOut="bgChange('clear_img');"
  }
}
?>
    </td>
  </tr>
  <tr>
    <td align="center" valign="top"><img src="<?=$view_one?>" id="view_img" name="view_img" border="0"></td>
  </tr>
</table>
#############################################

4. view.skin.php 에서 해당 링크 부분에
####################################
<span style="cursor:pointer;" onclick="win_open('./view_image.php?bo_table=<?=$bo_table?>&wr_id=<?=$wr_id?>','view_image','left=10,top=10,width=620,height=450,scrollbars=1');">테스트</span>
####################################
위처럼 win_open으로 팝업창을 띄어주면 됩니다.


-----------------------------------------------------------------------------
 다시 한번 말씀드지만 해피정님께 사전에 양해를 구하지 못한점 죄송합니다.

삭제 요청 하시면 삭제 하도록 하겠습니다.

위 파일 생성 복사후, view_image.skin.php 에서 폼을 바꿔주시면 됩니다.

즐거운 시간 보내시기 바랍니다 ^^
추천
0
  • 복사

댓글 0개

© SIRSOFT
현재 페이지 제일 처음으로