[G4] [최신게시물] 플래시, 한글파일 첨부시 엑박 해결 > 기술자료 | 해피정닷컴

[G4] [최신게시물] 플래시, 한글파일 첨부시 엑박 해결 > 기술자료

본문 바로가기

사이트 내 전체검색

[G4] [최신게시물] 플래시, 한글파일 첨부시 엑박 해결 > 기술자료

그누보드 [G4] [최신게시물] 플래시, 한글파일 첨부시 엑박 해결

페이지 정보


본문

그누보드 / extend / happyjung.lib.php 파일을 하나 만들어서 아래 내용을 삽입

<?php

# 최신글 추출에서 갤러리 GD로 불러오기 ( 첨부파일 한글인 경우도 정상작동 )
# 도움주신분 : 까만도둑 http://www.sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=2532
function gga_image_size($x, $y, $thumbx, $thumby) {
  if($x > $thumbx) {
      $overx = ($x - $thumbx) / $x;
      $x = $thumbx;
      $y = intval($y - ($y * $overx));
  }
  if($y > $thumby) {
      $overy = ($y - $thumby) / $y;
      $y = $thumby;
      $x = intval($x - ($x * $overy));
  }
  return array('x'=>$x, 'y'=>$y);
}
function gga_thumb_filename2($num, $seq) {
  return sprintf("%05d", $num) . "_" . sprintf("%03d", $seq);
}
?>



그누보드 / skin / latest / hp_gallery4 / latest.skin.php 파일 생성후 아래 내용 삽입

<?
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

/*
사용방법 :: 아래를 복사하여 최신갤러리 삽입위치에 추가한후 옵션 변경

<?=latest("hp_utf8_gallery4",  "test",  6,  100, "80, 2, 200, 10, #ffff, 1" );
// option("hp_utf8_gallery4",  "테이블명",  전체갯수,  가로폭, "세로폭, row, 테이블폭, 빈TR높이, 제목글자색, 제목노출여부");
// 제목안보일때 = 0 , 제목보일때 = 1 ?>

row를 2로 설정할 경우 6개를 2줄로 나눠서 한줄에 3개씩 보이게 됩니다.
*/

list($height, $row_cnt, $table_width, $td_height, $link_color, $title_view) = explode(",", $options);
//list($height, $row_cnt, $cut_len, $link_color) = explode(",", $options);
$all_cnt = 0;

$happyjung_latest_height = "20"; // 글 제목 높이값

$thumbx = 120;
$thumby = 120;
?>
<!-- <?=$board[bo_subject]?> (<?=$board[bo_table]?>) 최신글 -->
<table width='<?=$table_width?>' cellpadding='0' cellspacing='0' border='0'>
<? /* ?>
  <tr>
    <td><table width='100%' border='0' cellspacing='0' cellpadding='0'>
      <tr>
        <td style="padding:3 0 3 3;"><strong><a href='<?=$g4[bbs_path]?>/board.php?bo_table=<?=$bo_table?>'><?=$board[bo_subject]?></a></strong></td>
        <td align="right" style="padding:0 3 0 0;"><a href='<?=$g4[bbs_path]?>/board.php?bo_table=<?=$bo_table?>'><img src='<?=$latest_skin_path?>/img/more.gif' border=0></a></td>
      </tr>
      <tr>
        <td colspan=2 height=2 bgcolor='#cccccc'></td>
      </tr>
    </table></td>
  </tr>
<? */ ?>
  <tr>
    <td align='center'><table cellpadding='0' cellspacing='0' border='0'>
<?
for ($k=0; $k<$row_cnt; $k++ ) {
?>
      <tr>
<?
  for ($i=0; $i<count($list)/$row_cnt; $i++) {
    if ($i > 0)
      echo '<td width=20>&nbsp;</td>';
    $title = get_text($list[$all_cnt][wr_subject]);
    $content = cut_str(get_text($list[$all_cnt][wr_content]), 80);
    $img = "$g4[path]/data/file/$bo_table/".urlencode($list[$all_cnt][file][0][file]);

    $file_name = gga_thumb_filename2($list[$i][wr_id], 0);
# utf-8 에서 한글 공백 있는 글자 정상작동 확인
    $file = "$g4[path]/data/file/$bo_table/".$list[$all_cnt][file][0][file];
//  $file = "$g4[path]/data/file/$bo_table/".urlencode($list[$all_cnt][file][0][file]);

    $destfile = $file.'_gga_gd_latest_Thumb';
    $size = @getimagesize($file);
    if(is_array($size) && !is_file($destfile)) {
      switch($size[2]) {
        case(1) :
          if(function_exists('ImageCreateFromGif')) $im = ImageCreateFromGif($file);
          break;
        case(2) :
          if(function_exists('ImageCreateFromJpeg')) $im = ImageCreateFromJpeg($file);
          break;
        case(3) :
          if(function_exists('ImageCreateFromPng')) $im = ImageCreateFromPng($file);
          break;
      }
      $fixsize = gga_image_size($size[0], $size[1], $thumbx, $thumby);
      if($im) {
        if($i==0) @exec("rm ".dirname($_SERVER[SCRIPT_FILENAME])."$g4[path]/data/file/$bo_table/*reportThumb -rf");
     
        if(function_exists('ImageCreateTrueColor')) $newim = ImageCreateTrueColor($fixsize[x],$fixsize[y]);
        else $newim = ImageCreate($fixsize[x],$fixsize[y]);
     
        if(function_exists('ImageCopyResampled')) ImageCopyResampled($newim,$im,0,0,0,0,$fixsize[x],$fixsize[y],$size[0],$size[1]);
        else ImageCopyResized($newim,$im,0,0,0,0,$fixsize[x],$fixsize[y],$size[0],$size[1]);
     
        ImageDestroy($im);
        ImageJpeg($newim, $destfile, 100);
        ImageDestroy($newim);
        unset($im, $newim);
      }
      $list[$i][img][x] = $fixsize[x];
      $list[$i][img][y] = $fixsize[y];
    } else {
      if(is_file($destfile)) {
        $size = @getimagesize($destfile);
        $list[$i][img][x] = $size[0];
        $list[$i][img][y] = $size[1];
      } else {
        $file = "$latest_skin_path/img/no_image.gif";
        $size = @getimagesize($file);
        $list[$i][img][x] = $size[0];
        $list[$i][img][y] = $size[1];
      }
    }
    if(is_file($destfile)) $file = $destfile;
    if(time()-(60*60*24) <= strtotime($list[$i][wr_datetime])) $list[$i][date] = date('H:i',strtotime($list[$i][wr_datetime]));
    else $list[$i][date] = date('Y.m.d',strtotime($list[$i][wr_datetime]));

    $file = str_replace('%', '%25', $file);

    $href = "$g4[bbs_path]/board.php?bo_table=$bo_table";
    $stitle = $list[$all_cnt][subject];
//    $stitle = cut_str($list[$all_cnt][subject],$cut_len,"...");
?>
        <td width='<?=$subject_len?>' valign='top' align='center'><table width='<?=$subject_len?>' border='0' cellpadding='0' cellspacing='0' align='center' style='table-layout:fixed'>
          <tr>
            <td width='<?=$subject_len?>' height='<?=$height?>' style='width:<?=$subject_len?>px;height:<?=$height?>px;' align='center'><?
            if (preg_match("/\.(gif|jpg|png)$/i", $img)) { // 첫 파일이 이미지인지 검사
              echo "<a href='{$g4[bbs_path]}/board.php?bo_table={$bo_table}&wr_id={$list[$all_cnt][wr_id]}' class='happyjung_latest_link'><img src='$file' width='$subject_len' height='$height' border='0' align='absmiddle' title='{$title}'></a>";
            } else if (preg_match("/\.(swf|wmv|asf)$/i", $img)) { // 플래시일때
              echo"<script>doc_write(flash_movie('$file', 'flash$i',  width='$subject_len', height='$height', 'transparent'));</script>";
            }
            ?></td>
          </tr>
          <?php if ($title_view == 1) { ?>
          <tr>
            <td height='7' align='center'></td>
          </tr>
          <tr>
            <td align='center' style='text-overflow: ellipsis; overflow: hidden; color:<?=$link_color?>' nowrap><a href='<?=$g4[bbs_path]?>/board.php?bo_table=<?=$bo_table?>&wr_id=<?=$list[$all_cnt][wr_id]?>'><font color=<?=$link_color?>><?=$stitle?></font></a></td>
          </tr>
          <?php } ?>
          <tr>
            <td width='<?=$subject_len?>' height='<?=$td_height?>'></td>
          </tr>
        </table></td>
<?php
    $all_cnt++;
  }
?>
      </tr>
<?php
}
 
if (count($list) == 0) {
?>
      <tr>
        <td align='center' height=25>게시물이 없습니다.</td>
      </tr>
<?
}
?>
    </table></td>
  </tr>
</table>

 



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

댓글목록

등록된 댓글이 없습니다.


Total 459건 20 페이지
  • RSS
기술자료 목록
79
그누보드   11559  2008-07-16 22:15  
78
그누보드   10769  2008-07-15 21:12  
77
그누보드   10338  2008-07-03 19:20 ~ 2008-07-03 00:00  
76
그누보드   10394  2008-07-03 19:04  
75
그누보드   22440  2008-07-03 18:14  
74
그누보드   23345  2008-06-24 22:11  
73
그누보드   10280  2008-06-21 21:34  
72
그누보드   13361  2008-06-21 19:44  
71
그누보드   13666  2008-06-11 15:36  
70
그누보드   11374  2008-05-10 15:38  
열람
그누보드   20416  2008-04-28 11:24  
68
그누보드   11295  2008-04-28 11:19  
67
그누보드   15048  2008-04-21 18:25  
66
그누보드   23347  2008-04-14 12:56  
65
그누보드   13257  2008-03-07 17:38 ~ 2008-03-17 00:00  
64
그누보드   16148  2008-03-05 21:37 ~ 2021-07-14 18:37  
63
그누보드   12298  2008-02-14 20:33  
62
그누보드   13635  2008-02-14 14:45  
61
그누보드   17878  2008-02-11 21:25 ~ 2008-02-20 00:00  
60
그누보드   11426  2008-02-05 20:12  

검색

해피정닷컴 정보

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

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