이미지 사이즈가 달라지는데요. > 그누4 질문답변

그누4 질문답변

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

이미지 사이즈가 달라지는데요. 정보

이미지 사이즈가 달라지는데요.

본문

웹진형 게시판을 사용중이구요.
이미지를 첨부하였는데

간혹 사이즈가 변경되어서 노출됩니다.


list.skin.php

// 썸네일 설정
$thumb_width = "120"; //썸네일 가로길이
$thumb_height = "160"; //썸네일 세로길이
$thumb_quality = "100"; //퀼리티 100이하로 설정
$list_content = "250"; //내용길이

설정하였는데
80-95 이런식으로 줄어 들어서 나오는데
어느 부분을 수정해야 할까요?

글수정하기를 하고
그냥 확인 버튼을 눌러주면 위 지정한 사이즈로 나온답니다. ㅠㅠ
  • 복사

댓글 전체

감사합니다. 리스트 관련 파일이 여러가지 있는데 사용하는 소스 올려봅니다.

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

// 선택옵션으로 인해 셀합치기가 가변적으로 변함
$colspan = 5;

//if ($is_category) $colspan++;
if ($is_checkbox) $colspan++;
if ($is_good) $colspan++;
if ($is_nogood) $colspan++;

// 제목이 두줄로 표시되는 경우 이 코드를 사용해 보세요.
// <nobr style='display:block; overflow:hidden; width:000px;'>제목</nobr>
// 썸네일 설정
$thumb_width = "120"; //썸네일 가로길이
$thumb_height = "160"; //썸네일 세로길이
$thumb_quality = "100"; //퀼리티 100이하로 설정
$list_content = "250"; //내용길이

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

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

include_once($board_skin_path . '/lib/skin.lib.php');
?>
<script language="JavaScript">
// 검색창펼치기
function togglelist(){
  if(document.getElementById('hidden2').style.display==""){
    document.getElementById('hidden2').style.display="none";
  }else{
    document.getElementById('hidden2').style.display=""; 
  }
}
</script>
<script type="text/javascript" src="<?php echo $board_skin_path; ?>/js/list.skin.js" charset="<?php echo $g4['charset']; ?>"></script>

<!-- 게시판 목록 시작 -->
<link href="css/webbus01.css" rel="stylesheet" type="text/css" />
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <!--탭메뉴-->
  <tr>
  <td colspan="50" height="22">
  <table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td><span class="gray8s"><?=$group[gr_subject]?></span><span class="gray6s">&gt;&nbsp;</span><span class="purples"><strong><?=$board[bo_subject]?></strong></span></td>
    <td>&nbsp;</td>
  </tr>
</table>

  </td>
  </tr>
  <? if ($is_category) { ?>
  <tr>
<?php
$arr = explode("|", $board[bo_category_list]);
$arr1  = explode("|", $board[bo_10]);
$str = "";
if(!$sca)
$str = "<td width='2'><img src='$board_skin_path/img/tab_on_notice_left.gif' height='29'></td>
<td background='$board_skin_path/img/tab_on_bg.gif' style='padding:4 10 0 10' nowrap>
<a href='board.php?bo_table=$bo_table'><b>전체</b></a></td>
<td width='2'><img src='$board_skin_path/img/tab_on_right.gif' height='29'></td>";
else
$str = "<td width='2'><img src='$board_skin_path/img/tab_off_notice_left.gif' height='29'></td>
<td background='$board_skin_path/img/tab_off_bg.gif' style='padding:4 10 0 10' nowrap>
<a href='board.php?bo_table=$bo_table'>전체</a></td>
<td width='2'><img src='$board_skin_path/img/tab_off_right.gif' height='29'></td>";
for ($i=0; $i<count($arr); $i++)
if (trim($arr[$i])){
if($arr[$i]==$sca){
$key    = array_search($sca, $arr);
$cate  = explode("^", $arr1[$key]);
$subca1 = $cate[0];
$str .= "<td width='2'><img src='$board_skin_path/img/tab_on_left.gif'></td>
<td background='$board_skin_path/img/tab_on_bg.gif' style='padding:4 10 0 10' nowrap>
<a href='$category_location$arr[$i]&sfl=wr_10&stx=$subca1&nca=$subca1'><b>$arr[$i]</b></a></td>
<td width='2'><img src='$board_skin_path/img/tab_on_right.gif'></td>";
}else{
$key    = array_search($arr[$i], $arr);
$cate  = explode("^", $arr1[$key]);
$subca1=$cate[0];
$str .= "<td width='2'><img src='$board_skin_path/img/tab_off_left.gif'></td>
<td background='$board_skin_path/img/tab_off_bg.gif' style='padding:4 10 0 10' nowrap>
<a href='$category_location$arr[$i]&sfl=wr_10&stx=$subca1&nca=$subca1'>$arr[$i]</a></td>
<td width='2'><img src='$board_skin_path/img/tab_off_right.gif''></td>";
}
}
echo $str;
echo "<td width='100%' background='$board_skin_path/img/tab_bg.gif' style='padding:4 10 0 10' nowrap></td>";
?>
  </tr>
  <tr>
    <td bgcolor="#EAEAEA" class="gray2s"><img src="../../../img/blank.gif" width="5" height="1" /></td>
  </tr>
  <? } ?>
  <tr>
    <td><img src="../../../img/blank.gif" width="5" height="5" /></td>
  </tr>
<!--탭메뉴끝-->
</table>

<table width="<?=$width?>" align=center cellpadding=0 cellspacing=0 bgcolor="#FFFFFF">
  <tr><td>
<!-- 분류 셀렉트 박스, 게시물 몇건, 관리자화면 링크 -->
<table border=0 width="100%" cellspacing="0" cellpadding="0">
<tr height="25">
    <td>
        <form name="fcategory" method="get" style="margin:0; padding:0;">
<!--목록,웹진,갤러리선택-->
<a href="<?=$board_skin_path?>/command.php?bo_table=<?=$board['bo_table']?>&type=list"><img src="<?=$board_skin_path?>/img/b_list.gif" alt="일반목록" border="0" /></a>
<a href="<?=$board_skin_path?>/command.php?bo_table=<?=$board['bo_table']?>&type=news"><img src="<?=$board_skin_path?>/img/b_news2.gif" alt="뉴스목록" border="0" /></a>
<a href="<?=$board_skin_path?>/command.php?bo_table=<?=$board['bo_table']?>&type=photo"><img src="<?=$board_skin_path?>/img/b_photo.gif" alt="포토목록" border="0" /></a>
<!--목록,웹진,갤러리선택끝-->
        <? if ($is_category) { ?>
        <select name=sca onchange="location='<?=$category_location?>'+this.value;">
        <option value=''>전체</option>
        <?=$category_option?>
        </select>
        <? } ?>
        </form>
       
</td>
    <td align="right">
        <img src="<?=$board_skin_path?>/img/icon_refer.gif" align=absmiddle>
        <span class="gray8s">전체 </span><strong><span class="blue2s"><?=number_format($total_count)?></span></strong>
        <? if ($rss_href) { ?><a href='<?=$rss_href?>'><img src='<?=$board_skin_path?>/img/btn_rss.gif' border=0 align=absmiddle></a><?}?>&nbsp;<span class="gray8s"><?=subject_sort_link('wr_datetime', $qstr2, 1)?>
등록일</a>&nbsp;
<?=subject_sort_link('wr_hit', $qstr2, 1)?>
조회&nbsp;
<?=subject_sort_link('wr_good', $qstr2, 1)?>
추천</span>&nbsp;&nbsp;





<div style="clear:both; height:43px;">
    <!-- 링크 버튼 -->
    <div style="float:right; margin-top:10px;">
    <? if ($write_href) { echo "<a href=\"$write_href\"><img src='$board_skin_path/img/btn_write.gif' border='0' align='absmiddle'></a> "; } ?>

    </div>
</div>







<? if ($admin_href) { ?><a href="<?=$admin_href?>"><img src="<?=$board_skin_path?>/img/btn_admin.gif" title="관리자" align="absmiddle"></a><?}?>

</td>
</tr>
<tr><td height=5></td></tr>
</table>
<!-- 제목 -->
<form name="fboardlist" method="post" style="margin:0;">
<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=''>

<div style="border-top-width:1px; border-top-color:rgb(208,208,208); border-top-style:solid;"></div>

<table width=100% border=0 cellpadding=0 cellspacing=0>
<!-- 목록 -->
<? for ($i=0; $i<count($list); $i++) { ?>
<?
//썸네일 생성
$thumfile = "";
    $thumb = $thumb_path.'/'.$list[$i][wr_id];
    // 썸네일 이미지가 존재하지 않는다면
    if (!file_exists($thumb)) {
        $file = $list[$i][file][0][path] .'/'. $list[$i][file][0][file];
        // 업로드된 파일이 이미지라면
        if (preg_match("/\.(jpg|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][wr_id], $thumb_quality);
            chmod($thumb_path.'/'.$list[$i][wr_id], 0606);
        } else { //게디터에서 삽입한 이미지 뽑자ㅠㅠ
$edit_img = $list[$i]['wr_content'];
if (eregi("data/cheditor4[^<>]*\.(gif|jp[e]?g|png|bmp)", $edit_img, $tmp)) { // data/cheditor------
$file = '../' . $tmp[0]; // 파일명
$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][wr_id], $thumb_quality);
chmod($thumb_path.'/'.$list[$i][wr_id], 0606);
}
    }
}
//이미지
    if (file_exists($thumb))
        $thumfile = "<img src='{$thumb}' border='0'>";
else
//이미지가 없으면
$thumfile="";
//이미지가 아니네
        if(preg_match("/\.(swf|wma|asf)$/i","$file") && file_exists($file)){
$thumfile = "<script>doc_write(flash_movie('$file', 'flash$i', '$thumb_width', '$thumb_height', 'transparent'));</script>";
    }   
?> 
<tr height=29 align=center>
<td>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
    <? if ($thumfile) {// 썸네일 ?>
    <td width=50 class="gray8s" style="padding:8px 15px 8px 5px;"><div style="border-width:1px; border-color:rgb(221,221,221); border-style:solid;"><a href='<?=$list[$i][href]?>'><?=$thumfile?></a></div></td>
<? }?>
    <td align=left style="padding:8px 0px 10px 0px"><table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td><table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td>
            <? if ($is_checkbox) { ?><input type=checkbox name=chk_wr_id[] value="<?=$list[$i][wr_id]?>"><? } ?>
<!--체크박스끝-->
    <!--레벨구분-->   
    <? if ($list[$i]['wr_2']) {?>
    <img src="<?=$board_skin_path?>/img/level_03.gif" border="0" align="absmiddle" /> <span class="orange"><strong><? if($list[$i][wr_1]) echo "".$list[$i][wr_2]."";?></strong></span>
    <? } ?> 
    <!--레벨구분끝-->
        <?
        echo $nobr_begin;
        echo $list[$i][reply];
        echo $list[$i][icon_reply];
        if ($is_category && $list[$i][ca_name] && !$sca) {
            echo "<a href='{$list[$i][ca_name_href]}'><span class='gal2s'>[{$list[$i][ca_name]}]</span></a> ";
        }
        $style = "";
        if ($list[$i][is_notice]) $style = " style='font-weight:bold;'";

        echo "<a href='{$list[$i][href]}' $style><span style='font-family:돋움,Tahoma;font-size:13px;color:#333333;'><strong>";
        echo $list[$i][subject];
        echo "</strong></span></a>";

        if ($list[$i][comment_cnt])
            echo " <a href=\"{$list[$i][comment_href]}\"><span style='font-family:돋움,Tahoma;font-size:12px;color:#FF4326;'><strong>{$list[$i][comment_cnt]}</strong></span></a>";

        // if ($list[$i]['link']['count']) { echo "[{$list[$i]['link']['count']}]"; }
        // if ($list[$i]['file']['count']) { echo "<{$list[$i]['file']['count']}>"; }
//코멘트24시간이내 등록시new아이콘표시
        if($list[$i][icon_new])
          echo " " . $list[$i][icon_new];
        else {
        $temp = sql_fetch("select wr_datetime from `$write_table` where wr_num='{$list[$i][wr_num]}' and wr_is_comment='1' ORDER BY wr_id DESC " );
        if($temp[wr_datetime]){
          $co_time = strtotime($temp[wr_datetime]);
        if(time() - $co_time < 24*60*60) //24시간 이내일 때
          echo " <img src='$board_skin_path/img/ico_n.gif' align=absmiddle title='새로운 코멘트등록'>";
          }
        }
//코멘트24시간이내 등록시new아이콘표시 끝


        //echo " " . $list[$i][icon_new];
        echo " " . $list[$i][icon_file];
        echo " " . $list[$i][icon_link];
        echo " " . $list[$i][icon_hot];
        echo " " . $list[$i][icon_secret];
        echo $nobr_end;
        ?>        </td>
            <td align="right">
            <!--조회수-->
            <span style='font:normal 8pt 돋움; color:#999999;'>view:&nbsp;</span><span style='font:normal 8pt 돋움; color:#666666;'><?=$list[$i][wr_hit]?></span>&nbsp;
            <? if ($is_good) { ?>
<img src="<?=$board_skin_path?>/img/icon_good2.gif&quot; title=&quot;추천&quot; align='absmiddle'&gt;<span class='oranges'><?=$list[$i][wr_good]?></strong>
    <? } ?>

            <!--조회수끝-->            </td>
          </tr>
        </table></td>
      </tr>
      <tr>
        <td height="8"></td>
      </tr>
      <tr>
        <td>
<!--내용출력-->
        <span class="gray3">
        <?=cut_str(strip_tags($list[$i]['wr_content']),$list_content)?>
        <!--내용출력끝--></span>
       
        </td>
      </tr>
      <tr>
        <td><table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td>&nbsp;</td>
            <td align="right"><!--작성자-->
                <span style='font:bold 11px 돋움; color:#888888;'>
                  <?=$list[$i][wr_name]?>
                  </span>
                <!--작성자끝-->
                <!--날짜-->
                <span style='font:normal 10px tahoma; color:#bbbbbb;'> | </span><img src='<?=$board_skin_path?>/img/icon_clock2.gif' border='0' /> <span style='font:normal 11px tahoma; color:#666666;'>
                  <?=date("Y-m-d H:i", strtotime($list[$i][wr_datetime]))?>
                </span></td>
          </tr>
        </table></td>
      </tr>
    </table></td>
</tr>
</table>

</td>

    <?/*?><td width=40><span style='font:normal 11px tahoma; color:#BABABA;'><?=$list[$i][last2]?></span></td><?*/?>
</tr>
<tr><td colspan=<?=$colspan?> height=1 bgcolor='#e8e8e8'></td></tr>
<?}?>
<? if (count($list) == 0) { echo "<tr><td colspan='$colspan' height=100 align=center>게시물이 없습니다.</td></tr>"; } ?>
</table>
</form>


<div style="margin-top:7px; height:31px; clear:both;">
    <div style="float:left;">
    <? if ($list_href) { ?>
    <a href="<?=$list_href?>"><img src="<?=$board_skin_path?>/img/btn_list.gif" align="absmiddle" border="0"></a>
    <? } ?>
    <? if ($is_checkbox) { ?>
    <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>
<!-- 아래라인 숨기기
<div style="height:1px; line-height:1px; font-size:1px; background-color:#eee; clear:both;">&nbsp;</div>
<div style="height:1px; line-height:1px; font-size:1px; background-color:#ddd; clear:both;">&nbsp;</div>
-->

<!-- 페이지 -->
<div style="font-family:gulim; text-align:center; line-height:30px; margin-top:5px; margin-right:0; margin-bottom:5px; margin-left:0; padding-top:5px; padding-right:0; padding-bottom:5px; padding-left:0; clear:both;">
    <? 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>/", "<b><span style=\"color:#B3B3B3; font-size:12px;\">$1</span></b>", $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>
<!--검색창 숨기기,펼치기 명령 -->
<div align="center" class="gray3s">
<a href="javascript:togglelist()" style="text-decoration:underline; color:#515151"><strong>검색하려면 클릭</strong></a></div>
<!--검색창 숨기기,펼치기 명령 끝 -->

<!-- 검색창 숨기기,펼치기 -->
<div id="hidden2" style="display:none">
<!-- 검색시작 -->
<div style="text-align:center;">
<form name=fsearch method=get style="margin:0px;">
<input type=hidden name=bo_table value="<?=$bo_table?>&quot;&gt;
<input type=hidden name=sca      value="<?=$sca?>">
<select name=sfl style="background-color:#f6f6f6; border:1px solid #7f9db9; height:21px;">
    <option value='wr_subject'>제목</option>
    <option value='wr_content'>내용</option>
    <option value='wr_subject||wr_content'>제목+내용</option>
    <option value='mb_id,1'>회원아이디</option>
    <option value='mb_id,0'>회원아이디(코)</option>
    <option value='wr_name,1'>글쓴이</option>
    <option value='wr_name,0'>글쓴이(코)</option>
</select>
<input name=stx maxlength=15 itemname="검색어" required value='<?=$stx?>' style="width:204px; background-color:#f6f6f6; border:1px solid #7f9db9; height:21px;">
<input type=image src="<?=$board_skin_path?>/img/btn_search.gif" border=0 align=absmiddle>
<input type=radio name=sop value=and>and
<input type=radio name=sop value=or>or

</form>
</div>
<!-- 검색끝 -->
</div>
<!-- 검색창 숨기기,펼치기끝 -->

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

<script language="JavaScript">
if ('<?=$sca?>') document.fcategory.sca.value = '<?=$sca?>';
if ('<?=$stx?>') {
    document.fsearch.sfl.value = '<?=$sfl?>';

    if ('<?=$sop?>' == 'and')
        document.fsearch.sop[0].checked = true;

    if ('<?=$sop?>' == 'or')
        document.fsearch.sop[1].checked = true;
} else {
    document.fsearch.sop[0].checked = true;
}
</script>

<? if ($is_checkbox) { ?>
<script language="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>
<? } ?>
<!-- 게시판 목록 끝 -->
© SIRSOFT
현재 페이지 제일 처음으로