도움이 필요합니다...섬네일관련...ㅠㅠㅠ > 그누4 질문답변

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

도움이 필요합니다...섬네일관련...ㅠㅠㅠ 정보

도움이 필요합니다...섬네일관련...ㅠㅠㅠ

본문

갤러리 게시판에서 파일첨부를 할수 있게 되있는데

첫번째 파일이 리스트에 뿌려지는 섬네일 파일이구요

마우스 오버시 두번째 첨부된파일을 리스트에 보이게 하려고하는데요

이것저것 다뜯어보고 찾아보고 이리해보고 저리해봐도...ㅠㅠ

섬네일 생성이 두번째 파일이 되질 않습니다..........

마우스올리면 생성이안되서 엑박이뜨는데 도움좀 주시면 감사하겠습니다..ㅠㅠ

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

$thumb_width = '200';  //썸네일 폭
$thumb_height = '180'; //썸네일 높이
$thumb_quality = '100'; //썸네일 퀄리티_100 이하

if (!function_exists("imagecopyresampled")) alert("GD 2.0.1 이상 버전이 설치되어 있어야 사용할 수 있는 갤러리 게시판 입니다.");

$data_path = $g4[path]."/data/file/$bo_table";
$thumb_path = $data_path.'/thumb';

@mkdir($thumb_path, 0707);
@chmod($thumb_path, 0707);

$mod = $board[bo_gallery_cols];
$td_width = (int)(100 / $mod);

$colspan = 5;
if ($is_category) $colspan++;
if ($is_checkbox) $colspan++;
if ($is_good) $colspan++;
if ($is_nogood) $colspan++;
?>

<link rel="stylesheet" href="<?=$board_skin_path?>/_style.css" type="text/css">

<? include_once("_cate.php");?>

<!-- 게시판 목록 시작 -->
<table width="<?=$width?>" align="center" cellpadding="0" cellspacing="0"><tr><td>

<!-- 제목 -->
<form name="fboardlist" method="post">
<input type='hidden' name='bo_table' value='<?=$bo_table?>'>
<input type='hidden' name='sfl'  value='<?=$sfl?>'>
<input type='hidden' name='stx'  value='<?=$stx?>'>
<input type='hidden' name='spt'  value='<?=$spt?>'>
<input type='hidden' name='page' value='<?=$page?>'>
<input type='hidden' name='sw'  value=''>

<table width="100%" align="center" cellpadding="0" cellspacing="0" class="board_list">
  <tr>
  <?
  for ($i=0; $i<count($list); $i++)
  {
  if ($i && $i%$mod==0)
  echo "</tr><tr><td colspan='{$mod}' height=20></td></tr><tr>";
  $img = "<img src='$board_skin_path/img/noimage.gif' border=0 title='이미지 없음' >";
  $image = $list[$i][file][0][file];
  $image1 = $list[$i][file][1][file];
  $thumb = $thumb_path.'/'.$list[$i][file][0][file];
  $thumb1 = $thumb_path.'/'.$list[$i][file][1][file];
  if (!file_exists($thumb))
  {
$file = $list[$i][file][0][path] .'/'. $list[$i][file][0][file];
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 = $thumb_width / $size[0];
$height = (int)($size[1] * $rate);

if ($height < $thumb_height)
$dst = imagecreatetruecolor($thumb_width, $height);
else
$dst = imagecreatetruecolor($thumb_width, $thumb_height);
/*imagecopyresampled($dst, $src, 0, 0, 0, 0, $thumb_width, $height, $size[0], $size[1]);
imagejpeg($dst, $thumb_path.'/'.$list[$i][file][0][file], $thumb_quality);
chmod($thumb_path.'/'.$list[$i][file][0][file], 0606);*/

imagecopyresampled($dst, $src, 0, 0, 0, 0, $thumb_width, $height, $size[0], $size[1]);
imagejpeg($dst, $thumb_path.'/'.$list[$i][file][0][file], $thumb_quality);
chmod($thumb_path.'/'.$list[$i][file][0][file], 0606);
imagejpeg($dst, $thumb_path.'/'.$list[$i][wr_id], $thumb_quality);
chmod($thumb_path.'/'.$list[$i][wr_id], 0606);
}
  }





  if (file_exists($thumb) && $list[$i][file][0][file]) {
  $img = "<a href='{$list[$i][href]}' onfocus='this.blur()'><img src='{$thumb}' width='{$thumb_width}' height='{$thumb_height}' border=1 style='border:1px solid #ffffff;'onmouseover=\"this.src='{$thumb1}';  this.style.cursor='hand'\"  onmouseout=\"this.src='{$thumb}';\"></a>";



  } else {
  preg_match("`<\s*img\s+src\s*=\s*['|\"]?([^'|\"\s]+://[^'|\"\s]+\.(gif|jpe?g|png))['|\"]?\s*[^>]+`i", $list[$i]['wr_content'], $images);
  if (!empty($images[1])) {
  $img_size = GetImageSize("$images[1]");
  if($img_size[0] >= $img_size[1]) {
  $imgper = $thumb_width/$img_size[0];
  $thumb_height = $img_size[1]*$imgper;
  }else{
      $imgper = $thumb_height/$img_size[1];
  $thumb_width = $img_size[0]*$imgper;
  }
    $img = "<a href='{$list[$i][href]}' onfocus='this.blur()'><img src='{$images[1]}' width='{$thumb_width}' height='{$thumb_height}' align='absmiddle' border='0'></a>";
  } else {
  echo "";
  }
}


  $bg = "";  //새글?
  if ($list[$i][icon_new])
    $bg="thumb_1_2.gif";
  else
  $bg="thumb_1.gif";

  $subject = "<a href='{$list[$i][href]}' onfocus='this.blur()'>".cut_str($list[$i][subject],18)."</a>";

  echo "<td width='{$td_width}%' valign=top style='word-break:break-all;'>\n";
  echo "<table width='100%' cellpadding='0' cellspacing='0' border='0'>\n"; 
  echo "<tr><td align='center' valign='top'>$img</td></tr>\n";
//  echo "<tr><td align='center' height='25'>$subject</td></tr>\n";
  echo "</table></td>\n";

  }

// 나머지 td
$cnt = $i%$mod;
if ($cnt)
for ($i=$cnt; $i<$mod; $i++)
echo "<td width='{$td_width}%'>&nbsp;</td>";
?>
</tr>

<? if (count($list) == 0) { echo "<tr><td colspan='$mod' height=100 align=center>게시물이 없습니다.</td></tr>"; } ?>
</table>
</form>
<br>
<div class="board_button">
<div align="left" style="float:left;">
<? if ($is_admin) { ?>
<? if ($admin_href) { ?><a href="<?=$admin_href?>"><img src="<?=$board_skin_path?>/img/btn_admin.gif" align="absmiddle" border='0'></a><?}?>
<a href="javascript:select_delete();"><img src="<?=$board_skin_path?>/img/btn_select_delete.gif" align="absmiddle" border='0'></a>
<a href="javascript:select_copy('copy');"><img src="<?=$board_skin_path?>/img/btn_select_copy.gif" align="absmiddle" border='0'></a>
<a href="javascript:select_copy('move');"><img src="<?=$board_skin_path?>/img/btn_select_move.gif" align="absmiddle" border='0'></a>
<? } ?>
</div>
<div align="right"><? if ($write_href) { ?><a href="<?=$write_href?>"><img src="<?=$board_skin_path?>/img/btn_write.gif" border='0'></a><? } ?></div>
</div>

<!-- 페이지 -->
<div class="board_page">
<? if ($prev_part_href) { echo "<a href='$prev_part_href'><img src='$board_skin_path/img/page_search_prev.gif' border='0' align=absmiddle title='이전검색'></a>"; } ?>
<?
// 기본으로 넘어오는 페이지를 아래와 같이 변환하여 이미지로도 출력할 수 있습니다.
//echo $write_pages;
$write_pages = str_replace("처음", "<img src='$board_skin_path/img/page_begin.gif' border='0' align='absmiddle' title='처음'>", $write_pages);
$write_pages = str_replace("이전", "<img src='$board_skin_path/img/page_prev.gif' border='0' align='absmiddle' title='이전'>", $write_pages);
$write_pages = str_replace("다음", "<img src='$board_skin_path/img/page_next.gif' border='0' align='absmiddle' title='다음'>", $write_pages);
$write_pages = str_replace("맨끝", "<img src='$board_skin_path/img/page_end.gif' border='0' align='absmiddle' title='맨끝'>", $write_pages);
//$write_pages = preg_replace("/<span>([0-9]*)<\/span>/", "$1", $write_pages);
$write_pages = preg_replace("/<b>([0-9]*)<\/b>/", "<b><span style=\"color:#4D6185; font-size:12px; text-decoration:underline;\">$1</span></b>", $write_pages);
?>
<?=$write_pages?>
<? if ($next_part_href) { echo "<a href='$next_part_href'><img src='$board_skin_path/img/page_search_next.gif' border='0' align=absmiddle title='다음검색'></a>"; } ?>
</div>

</td></tr></table>

<div class="board_bottom"></div>

<? if ($is_checkbox) { ?>
<script type="text/javascript">
function all_checked(sw) {
    var f = document.fboardlist;

    for (var i=0; i<f.length; i++) {
        if (f.elements[i].name == "chk_wr_id[]")
            f.elements[i].checked = sw;
    }
}

function check_confirm(str) {
    var f = document.fboardlist;
    var chk_count = 0;

    for (var i=0; i<f.length; i++) {
        if (f.elements[i].name == "chk_wr_id[]" && f.elements[i].checked)
            chk_count++;
    }

    if (!chk_count) {
        alert(str + "할 게시물을 하나 이상 선택하세요.");
        return false;
    }
    return true;
}

// 선택한 게시물 삭제
function select_delete() {
    var f = document.fboardlist;

    str = "삭제";
    if (!check_confirm(str))
        return;

    if (!confirm("선택한 게시물을 정말 "+str+" 하시겠습니까?\n\n한번 "+str+"한 자료는 복구할 수 없습니다"))
        return;

    f.action = "./delete_all.php";
    f.submit();
}

// 선택한 게시물 복사 및 이동
function select_copy(sw) {
    var f = document.fboardlist;

    if (sw == "copy")
        str = "복사";
    else
        str = "이동";
                     
    if (!check_confirm(str))
        return;

    var sub_win = window.open("", "move", "left=50, top=50, width=500, height=550, scrollbars=1");

    f.sw.value = sw;
    f.target = "move";
    f.action = "./move.php";
    f.submit();
}
</script>
<? } ?>
<!-- 게시판 목록 끝 -->

댓글 전체

아 이런...thumb 폴더안에 생성이 안되는거 문제입니다..

현재는 thumb폴더말고 data/file/게시판명

위경로에 생기는 섬네일을 갖고와서는 잘되는지 이렇게해올경우

홈페이지가 느려지는 경향이 생겨서

thumb라는 폴더에 섬네일을 생성해서 불러오게끔 해놨는데 thumb에는

2번째 첨부된파일부터는 섬네일이 생성이안되서 그런겁니다;;
전체 13 |RSS
그누4 질문답변 내용 검색

회원로그인

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