갤러리목록 이미지 사이즈?

갤러리목록 이미지 사이즈?

QA

갤러리목록 이미지 사이즈?

답변 1

본문

Screenshot_1.png
 

 겔러리 리스트화면에 위처험 이미지의 폭을 기준으로 보여주기때문에
이미지의 높이가 작으면 너무 어정쩡하게 노출이 됩니다.
이미지의 높이가 작은 파일의 경우 폭이아닌 높이를 기준으로 썸네일이 생성되게 하고 싶습니다.

아님 이게 어렵다면 테이블이라도 높이에 맞게 조정하고 싶습니다.

적용방법좀 도와주세요.



<?
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 = "130"; //썸네일 가로길이
$thumb_height = "110"; //썸네일 세로길이
$thumb_quality = "100"; //퀼리티 100이하로 설정
$list_content = "200"; //내용길이

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

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

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

include_once($board_skin_path . '/lib/skin.lib.php');
?>
<script language="JavaScript">
// 검색창펼치기
function togglelist(){
  if(document.getElementById('hidden3').style.display==""){
    document.getElementById('hidden3').style.display="none";
  }else{
    document.getElementById('hidden3').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%" align=center cellpadding=0 cellspacing=0 bgcolor="#FFFFFF">
  <tr><td>
<!-- 분류 셀렉트 박스, 게시물 몇건, 관리자화면 링크 -->
<table border="0" width="100%" cellspacing="0" cellpadding="0">
  <tr height="25">
    <td>
<form method="get" name="fcategory" id="fcategory" style="margin:0; padding:0;">
                            <font face="Dotum" color="#999999"><span class="gray8s" style="font-size:9pt;"><?=$group[gr_subject]?></span><span class="gray6s" style="font-size:9pt;">> </span></font><font face="Dotum" color="#FF6600"><span class="purples" style="font-size:9pt;"><b><?=$board[bo_subject]?></b></span></font>   
      <? if ($is_category) { ?>
      <select name="sca2" onchange="location='<?=$category_location?>'+this.value;">
        <option value=''>전체</option>
        <?=$category_option?>
      </select>
      <? } ?>
    </form></td>
<td align="right">
            <font face="Dotum" color="#999999"><span class="gray8s" style="font-size:9pt;">전체 </span></font><font face="Dotum" color="#666666"><span class="blue2s" style="font-size:9pt;"><?=number_format($total_count)?></span></font>
			<!--등록/조회/추천-->
<font face="돋움" color="#999999"><span class="gray8s" style="font-size:9pt;">   <?=subject_sort_link('wr_datetime', $qstr2, 1)?>
        등록일</span></font><span class="gray8s"> </span><font color="#E4E4E4"><span style="font-size:9pt;">| </span></font><font face="돋움" color="#999999"><span class="gray8s" style="font-size:9pt;"><?=subject_sort_link('wr_hit', $qstr2, 1)?>조회</span></font><span class="gray8s"> </span><font color="#E4E4E4"><span style="font-size:9pt;">| </span></font><font face="돋움" color="#999999"><span class="gray8s" style="font-size:9pt;"><?=subject_sort_link('wr_good', $qstr2, 1)?>추천   </span></font>
<!--등록/조회/추천끝-->		

<? if ($rss_href) { ?><a href='<?=$rss_href?>'><img src='<?=$board_skin_path?>/img/btn_rss.gif' border=0 align=absmiddle></a><?}?>   

<!--목록,웹진,갤러리선택-->      <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_news.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_photo2.gif" alt="포토목록" border="0" /></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="font-size:1px; line-height:1px; background-color: #e0e0e0; height:1px; clear:both;"> </div>
<!--
<div style="font-size:1px; line-height:1px; background-color: #d0d0d0; height:1px; clear:both;"> </div>
<div style="font-size:1px; line-height:1px; background-image:url('<?=$board_skin_path?>/img/title_shadow.gif'); background-repeat:repeat-x; height:3px;"></div>
-->

<table width=100% border=0 cellpadding=0 cellspacing=0>
<tr> 
<? 
for ($i=0; $i<count($list); $i++) 
{ 
    if ($i && $i%$mod==0)
        echo "</tr><tr>";

//썸네일 생성
$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>"; 
	    } 

    $style = "";
        if ($list[$i][is_notice]) $style = " style='font-weight:bold;'";


    $subject = "<span class='gray3'>".cut_str($list[$i][subject],36)."</span>";

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

    echo "<td width='{$td_width}%' valign=top style='word-break:break-all;'>";
    echo "<table width={$thumb_width} align='center' style='padding:0px 10px 0px 10px;'>";
    echo "<tr><td height=5></td></tr>";
	//echo "<tr><td><div style='float:left;'><span style='font:normal 9px tahoma; color:#666666;'>{$list[$i][datetime]}</span> {$list[$i][icon_new]} {$list[$i][icon_file]} {$list[$i][icon_link]}</div>";
	//echo "<div style='float:right;'><span style='font:normal 9px tahoma; color:#999999;'>view:</span><span style='font:normal 8.5px tahoma; color:#777777;'>{$list[$i][wr_hit]}</span></div></td></tr>";

    echo "<tr><td align=center width={$thumb_width} style='padding:0px 0px 5px 0px;'><div style='border:1px solid #EBEBEB; background-color:#F7F7F7; width:$thumb_width; height:$thumb_height;'><a href='{$list[$i][href]}'>$thumfile</a></div></td></tr>";
	if ($is_category) echo "<tr><td align=center><a href='{$list[$i][ca_name_href]}'><span class=gal2s><span style='font:normal 9px tahoma; color:#999999;'>[{$list[$i][ca_name]}]</span></span></a></td></tr>";
    echo "<tr><td align=center><a href='{$list[$i][href]}'>$subject</a>{$comment_cnt}</td></tr>";

    //if ($is_category) echo "<tr><td align=center><a href='{$list[$i][ca_name_href]}'><span class=gal2s><span style='font:normal 9px tahoma; color:#999999;'>[{$list[$i][ca_name]}]</span></span></a></td></tr>";
	//if ($is_good) echo "<tr><td align=center><span style='font:normal 9px Dotum; color:#999999;'>좋아요</span><span class='oranges'><span style='font:normal 8.5px tahoma; color:#666666;'>{$list[$i][wr_good]}</span></span></tr>";

    echo "<tr><td align=center>
	<span class='gray2s'><span style='font:normal 12px tahoma; color:#666666;'><?=level_icon($list[$i][mb_id])?><?=$list[$i][name]?></span></span></tr>";

    echo "<tr><td align=center>
	<span style='font:normal 11px tahoma; color:#ff6600;'>view: </span><span style='font:normal 11px tahoma; color:#ff6600;'>{$list[$i][wr_hit]}</span>
	<span style='font:normal 10px tahoma; color:#DCDCDC;'>  |  </span> 
	<span style='font:normal 11px Dotum; color:#ff6600;'>좋아요: </span><span class='oranges'><span style='font:normal 11px tahoma; color:#ff6600;'>{$list[$i][wr_good]}</span></span></tr>";

    if ($is_checkbox) echo "<tr><td align=center><input type=checkbox name=chk_wr_id[] value='{$list[$i][wr_id]}'></td></tr>";
    echo "<tr><td height=5></td></tr>";
    echo "</table></td>\n";
}

// 나머지 td
$cnt = $i%$mod;
if ($cnt)
    for ($i=$cnt; $i<$mod; $i++)
        echo "<td width='1'> </td>";
?>
</tr>
<tr><td colspan=<?=$colspan?> height=1 bgcolor=#cccccc></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 style="float:right;">
    <? if ($write_href) { ?><a href="<?=$write_href?>"><img src="<?=$board_skin_path?>/img/btn_write.gif" border="0"></a><? } ?>
    </div>
</div>

<!-- 아래라인 숨기기
<div style="height:1px; line-height:1px; font-size:1px; background-color:#eee; clear:both;"> </div>
<div style="height:1px; line-height:1px; font-size:1px; background-color:#ddd; clear:both;"> </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 style="height:8px;"></div>
<!--검색창 숨기기,펼치기 명령 -->
<div align="center" class="gray3s">
<a href="javascript:togglelist()" style="text-decoration:underline; color:#515151"><strong>검색하려면 클릭</strong></a></div>
<!--검색창 숨기기,펼치기 명령 끝 -->

<!-- 검색창 숨기기,펼치기 -->
<div id="hidden3">
<!-- 검색시작 -->
<div style="text-align:center;">
<form name=fsearch method=get style="margin:0px;">
<input type=hidden name=bo_table value="<?=$bo_table?>">
<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>
<? } ?>
<!-- 게시판 목록 끝 -->

이 질문에 댓글 쓰기 :

답변 1

게시판 설정에서 이미지 사이즈 조절하시고 페이지당 출력갯수 조절하시면 되실겁니다.

답변감사합니다.^^
근데 이미지 사이즈는 게시판 리스트파일에서 설정된 값이 적용이 되는 스킨입니다.
$thumb_width = "130"; //썸네일 가로길이
$thumb_height = "110"; //썸네일 세로길이

문제가 리스트에서 보여지는 이미지 사이즈가 폭을기준으로 보여주기에 첨부파일처럼 옆으로 긴 이미지의경우
130*110으로 보여지는게 아니라 높이가 어정쩡하게 보여집니다.
그래서 파일을 노출시키는 부분에 if문을 추가해서 높이비율이 설정된 130*110비율보다 적을경우 폭이 기준이 아닌
높이를 기준으로 목록에 이미지가 노출이되게 하는 문구가 필요해서 질문글을 올렸습니다~

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 121
© SIRSOFT
현재 페이지 제일 처음으로