도움을 좀~~ 정보
도움을 좀~~본문
제기 막 시작한거라서 완전 잘 모르겠습니다. 도움을 좀
<td width="144"><a href="{$href}" target=_blank><img src="{$img}" width="144" border="0" title="$title"></a></td>
이부분이 사진 싸이즈를 조정하는거 같은대 폭하고 높이를 고정하니 사진이 찌그러져서 나오고
지금 처럼 폭을 고정하니 높이가 들쑥날쑥하네요.
폭이 144 이고 높이가 200 정도인 틀에서 사진의 비율은 유지한체 나오게 할수 없을 까요?
어디서 부터 손을 보야 할찌 막막합니다.
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 제목이 두줄로 표시되는 경우 이 코드를 사용해 보세요.
// <nobr style='display:block; overflow:hidden; width:000px;'>제목</nobr>
?>
<!-- 분류 셀렉트 박스, 게시물 몇건, 관리자화면 링크 시작 -->
<table width="100%" cellspacing="0" cellpadding="0">
<tr>
<? if ($is_category) { ?><form name="fcategory" method="get">
<td width="50%"> </td>
</form><? } ?>
<td height=25 align="right"><!-- <font class=w_font>게시물 <?=number_format($total_count)?>건</font> --><? if ($admin_href) { ?><a href="<?=$admin_href?>"><img src="<?=$board_skin_path?>/img/admin_button.gif" title="관리자" width="63" height="22" border="0" align="absmiddle"></a><? } ?></td>
</tr>
</table>
<!-- 분류 셀렉트 박스, 게시물 몇건, 관리자화면 링크 끝 -->
<!-- 여백 --><table width="100%" cellspacing="0" cellpadding="0"><tr><td height="5"></td></tr></table>
<table width="100%" cellspacing="0" cellpadding="0" border=0>
<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="">
<? if ($is_admin) { ?><tr><td height=30 colspan='<?=$board[bo_gallery_cols]?>' style='padding-left:20px;'><INPUT onclick="if (this.checked) all_checked(true); else all_checked(false);" type=checkbox> 전체선택</td></tr><? } ?>
<tr>
<?
for ($i=0; $i<count($list); $i++)
{
$title = "클릭하시면 해당 사이트로 이동합니다.";
$content = cut_str(get_text($list[$i][wr_content]), 80);
$img = "$g4[path]/data/file/$bo_table/".urlencode($list[$i][file][0][file]);
if (!file_exists($img) || !$list[$i][file][0][file])
$img = "$board_skin_path/img/no_image.gif";
$href = "$g4[bbs_path]/board.php?bo_table=$bo_table&wr_id={$list[$i][wr_id]}";
$view_href = "";
if ($is_admin)
$view_href = "<a href='$g4[bbs_path]/board.php?bo_table=$bo_table&wr_id={$list[$i][wr_id]}'>";
$checkbox = "";
if ($is_checkbox)
$checkbox = "<input type=checkbox name=chk_wr_id[] value='{$list[$i][wr_id]}'>";
$tr = "";
if ($i && $i%$board[bo_gallery_cols]==0)
$tr = "</tr><tr>";
echo "$tr";
echo <<<HEREDOC
<td width="{$td_width}%" valign="top" align="center">
<table width="100" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="144"><a href="{$href}" target=_blank><img src="{$img}" width="144" border="0" title="$title"></a></td>
</tr>
<tr>
<td width="144" align=center>{$checkbox}{$view_href}{$list[$i][subject]}</a></td>
<td width="21" background="{$board_skin_path}/img/skin_t_right_bg.gif"></td>
</tr>
</table><br><br><br>
</td>
HEREDOC;
}
// 나머지 td 를 채운다.
if (($cnt = $i%$list_mod) != 0)
for ($k=$cnt; $k<$list_mod; $k++)
echo "<td> </td>\n";
if ($i == 0)
echo "<td colspan='$board[bo_gallery_cols]' height=50 align=center>게시물이 없습니다.</td>";
?>
</form>
</tr>
</table>
<!-- 페이지 표시 시작 -->
<table width="100%" cellspacing="0" cellpadding="0">
<tr>
<td height="37" align="center" valign="middle" background="<?=$board_skin_path?>/img/number_line.gif">
<table width="500" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="100%" align="center"><? if ($prev_part_href) { echo "<a href='$prev_part_href'><img src='$board_skin_path/img/btn_search_prev.gif' width=50 height=20 border=0 align=absmiddle title='이전검색'></a>"; } ?>
<?
// 기본으로 넘어오는 페이지를 아래와 같이 변환하여 이미지로도 출력할 수 있습니다.
//echo $write_pages;
$write_pages = str_replace("처음", "<img src='$board_skin_path/img/begin.gif' border='0' align='absmiddle' title='처음'>", $write_pages);
$write_pages = str_replace("이전", "<img src='$board_skin_path/img/prev.gif' border='0' align='absmiddle' title='이전'>", $write_pages);
$write_pages = str_replace("다음", "<img src='$board_skin_path/img/next.gif' border='0' align='absmiddle' title='다음'>", $write_pages);
$write_pages = str_replace("맨끝", "<img src='$board_skin_path/img/end.gif' border='0' align='absmiddle' title='맨끝'>", $write_pages);
$write_pages = preg_replace("/<span>([0-9]*)<\/span>/", "<font style=\"font-family:돋움; font-size:9pt; color:#797979\">$1</font>", $write_pages);
$write_pages = preg_replace("/<b>([0-9]*)<\/b>/", "<font style=\"font-family:돋움; font-size:9pt; color:orange;\">$1</font>", $write_pages);
?>
<strong><?=$write_pages?></strong>
<? if ($next_part_href) { echo "<a href='$next_part_href'><img src='$board_skin_path/img/btn_search_next.gif' width=50 height=20 border=0 align=absmiddle title='다음검색'></a>"; } ?> </td>
</tr>
</table></td>
</tr>
</table>
<!-- 페이지 표시 끝 -->
<table width="100%" cellspacing="0" cellpadding="0">
<tr align="left" valign="middle">
<td width="50%" height="40">
<? if ($list_href) { ?><a href="<?=$list_href?>"><img src="<?=$board_skin_path?>/img/btn_list.gif" border="0" align="absmiddle"></a><? } ?>
<? if ($write_href) { ?><a href="<?=$write_href?>"><img src="<?=$board_skin_path?>/img/btn_write.gif" border="0" align="absmiddle"></a><? } ?>
<? if ($is_checkbox) { ?>
<a href="javascript:select_delete();"><img src="<?=$board_skin_path?>/img/btn_select_delete.gif" border="0" align="absmiddle"></a>
<a href="javascript:select_copy('copy');"><img src="<?=$board_skin_path?>/img/btn_select_copy.gif" border="0" align="absmiddle"></a>
<a href="javascript:select_copy('move');"><img src="<?=$board_skin_path?>/img/btn_select_move.gif" border="0" align="absmiddle"></a>
<? } ?> </td>
<form name=fsearch method=get>
<input type=hidden name=bo_table value="<?=$bo_table?>">
<input type=hidden name=sca value="<?=$sca?>">
</form>
</tr>
</table>
</td></tr></table>
<script language="JavaScript">
if ("<?=$sca?>") document.fcategory.sca.value = "<?=$sca?>";
if ("<?=$stx?>") {
document.fsearch.sfl.value = "<?=$sfl?>";
document.fsearch.sop.value = "<?=$sop?>";
}
</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=396, height=550, scrollbars=1");
f.sw.value = sw;
f.target = "move";
f.action = "./move.php";
f.submit();
}
</script>
<? } ?>
<td width="144"><a href="{$href}" target=_blank><img src="{$img}" width="144" border="0" title="$title"></a></td>
이부분이 사진 싸이즈를 조정하는거 같은대 폭하고 높이를 고정하니 사진이 찌그러져서 나오고
지금 처럼 폭을 고정하니 높이가 들쑥날쑥하네요.
폭이 144 이고 높이가 200 정도인 틀에서 사진의 비율은 유지한체 나오게 할수 없을 까요?
어디서 부터 손을 보야 할찌 막막합니다.
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 제목이 두줄로 표시되는 경우 이 코드를 사용해 보세요.
// <nobr style='display:block; overflow:hidden; width:000px;'>제목</nobr>
?>
<!-- 분류 셀렉트 박스, 게시물 몇건, 관리자화면 링크 시작 -->
<table width="100%" cellspacing="0" cellpadding="0">
<tr>
<? if ($is_category) { ?><form name="fcategory" method="get">
<td width="50%"> </td>
</form><? } ?>
<td height=25 align="right"><!-- <font class=w_font>게시물 <?=number_format($total_count)?>건</font> --><? if ($admin_href) { ?><a href="<?=$admin_href?>"><img src="<?=$board_skin_path?>/img/admin_button.gif" title="관리자" width="63" height="22" border="0" align="absmiddle"></a><? } ?></td>
</tr>
</table>
<!-- 분류 셀렉트 박스, 게시물 몇건, 관리자화면 링크 끝 -->
<!-- 여백 --><table width="100%" cellspacing="0" cellpadding="0"><tr><td height="5"></td></tr></table>
<table width="100%" cellspacing="0" cellpadding="0" border=0>
<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="">
<? if ($is_admin) { ?><tr><td height=30 colspan='<?=$board[bo_gallery_cols]?>' style='padding-left:20px;'><INPUT onclick="if (this.checked) all_checked(true); else all_checked(false);" type=checkbox> 전체선택</td></tr><? } ?>
<tr>
<?
for ($i=0; $i<count($list); $i++)
{
$title = "클릭하시면 해당 사이트로 이동합니다.";
$content = cut_str(get_text($list[$i][wr_content]), 80);
$img = "$g4[path]/data/file/$bo_table/".urlencode($list[$i][file][0][file]);
if (!file_exists($img) || !$list[$i][file][0][file])
$img = "$board_skin_path/img/no_image.gif";
$href = "$g4[bbs_path]/board.php?bo_table=$bo_table&wr_id={$list[$i][wr_id]}";
$view_href = "";
if ($is_admin)
$view_href = "<a href='$g4[bbs_path]/board.php?bo_table=$bo_table&wr_id={$list[$i][wr_id]}'>";
$checkbox = "";
if ($is_checkbox)
$checkbox = "<input type=checkbox name=chk_wr_id[] value='{$list[$i][wr_id]}'>";
$tr = "";
if ($i && $i%$board[bo_gallery_cols]==0)
$tr = "</tr><tr>";
echo "$tr";
echo <<<HEREDOC
<td width="{$td_width}%" valign="top" align="center">
<table width="100" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="144"><a href="{$href}" target=_blank><img src="{$img}" width="144" border="0" title="$title"></a></td>
</tr>
<tr>
<td width="144" align=center>{$checkbox}{$view_href}{$list[$i][subject]}</a></td>
<td width="21" background="{$board_skin_path}/img/skin_t_right_bg.gif"></td>
</tr>
</table><br><br><br>
</td>
HEREDOC;
}
// 나머지 td 를 채운다.
if (($cnt = $i%$list_mod) != 0)
for ($k=$cnt; $k<$list_mod; $k++)
echo "<td> </td>\n";
if ($i == 0)
echo "<td colspan='$board[bo_gallery_cols]' height=50 align=center>게시물이 없습니다.</td>";
?>
</form>
</tr>
</table>
<!-- 페이지 표시 시작 -->
<table width="100%" cellspacing="0" cellpadding="0">
<tr>
<td height="37" align="center" valign="middle" background="<?=$board_skin_path?>/img/number_line.gif">
<table width="500" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="100%" align="center"><? if ($prev_part_href) { echo "<a href='$prev_part_href'><img src='$board_skin_path/img/btn_search_prev.gif' width=50 height=20 border=0 align=absmiddle title='이전검색'></a>"; } ?>
<?
// 기본으로 넘어오는 페이지를 아래와 같이 변환하여 이미지로도 출력할 수 있습니다.
//echo $write_pages;
$write_pages = str_replace("처음", "<img src='$board_skin_path/img/begin.gif' border='0' align='absmiddle' title='처음'>", $write_pages);
$write_pages = str_replace("이전", "<img src='$board_skin_path/img/prev.gif' border='0' align='absmiddle' title='이전'>", $write_pages);
$write_pages = str_replace("다음", "<img src='$board_skin_path/img/next.gif' border='0' align='absmiddle' title='다음'>", $write_pages);
$write_pages = str_replace("맨끝", "<img src='$board_skin_path/img/end.gif' border='0' align='absmiddle' title='맨끝'>", $write_pages);
$write_pages = preg_replace("/<span>([0-9]*)<\/span>/", "<font style=\"font-family:돋움; font-size:9pt; color:#797979\">$1</font>", $write_pages);
$write_pages = preg_replace("/<b>([0-9]*)<\/b>/", "<font style=\"font-family:돋움; font-size:9pt; color:orange;\">$1</font>", $write_pages);
?>
<strong><?=$write_pages?></strong>
<? if ($next_part_href) { echo "<a href='$next_part_href'><img src='$board_skin_path/img/btn_search_next.gif' width=50 height=20 border=0 align=absmiddle title='다음검색'></a>"; } ?> </td>
</tr>
</table></td>
</tr>
</table>
<!-- 페이지 표시 끝 -->
<table width="100%" cellspacing="0" cellpadding="0">
<tr align="left" valign="middle">
<td width="50%" height="40">
<? if ($list_href) { ?><a href="<?=$list_href?>"><img src="<?=$board_skin_path?>/img/btn_list.gif" border="0" align="absmiddle"></a><? } ?>
<? if ($write_href) { ?><a href="<?=$write_href?>"><img src="<?=$board_skin_path?>/img/btn_write.gif" border="0" align="absmiddle"></a><? } ?>
<? if ($is_checkbox) { ?>
<a href="javascript:select_delete();"><img src="<?=$board_skin_path?>/img/btn_select_delete.gif" border="0" align="absmiddle"></a>
<a href="javascript:select_copy('copy');"><img src="<?=$board_skin_path?>/img/btn_select_copy.gif" border="0" align="absmiddle"></a>
<a href="javascript:select_copy('move');"><img src="<?=$board_skin_path?>/img/btn_select_move.gif" border="0" align="absmiddle"></a>
<? } ?> </td>
<form name=fsearch method=get>
<input type=hidden name=bo_table value="<?=$bo_table?>">
<input type=hidden name=sca value="<?=$sca?>">
</form>
</tr>
</table>
</td></tr></table>
<script language="JavaScript">
if ("<?=$sca?>") document.fcategory.sca.value = "<?=$sca?>";
if ("<?=$stx?>") {
document.fsearch.sfl.value = "<?=$sfl?>";
document.fsearch.sop.value = "<?=$sop?>";
}
</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=396, height=550, scrollbars=1");
f.sw.value = sw;
f.target = "move";
f.action = "./move.php";
f.submit();
}
</script>
<? } ?>
댓글 전체
이미지에 실제 가로 세로 사이즈를 알아내는 함수를 써서
가로 or 세로 둘중 사이즈가 큰것을 기준으로
폭을 기준 144로 할건지
높이를 기준 200으로 할건지 조건문으로 해당 출력부분에 width=??? or height=??? 을 결정해주면
될듯 하네요..
가로 or 세로 둘중 사이즈가 큰것을 기준으로
폭을 기준 144로 할건지
높이를 기준 200으로 할건지 조건문으로 해당 출력부분에 width=??? or height=??? 을 결정해주면
될듯 하네요..
$size = getimagesize("/home/test/www/images/test.gif"); // (예제) 절대경로
$size[0]; //가로사이즈
$size[1]; // 세로사이즈
// 가로가 큰지 세로가 큰지 확인하는구문
if($size[0] > $size[1]){ $size_large_ok = "가로가 큼"; }
if($size[0] < $size[1]){ $size_large_ok = "세로가 큼"; }
// 위조건문에서 가로 세로 사이즈 중 가로가 큰지 세로가 큰지 판단이 되겠죠..
실제적으로 소스를 작성한다면 아래처럼
if($size[0] > $size[1]){ $size_large_ok = "width=144"; }
if($size[0] < $size[1]){ $size_large_ok = "height=200"; }
아래부분에 적용될 부분에 width="144" 이부분을 변수 $size_large_ok 로 대체해
적어넣으면 가로든 세로든 큰쪽을 기준으로 보여지기 때문에
기존 가로 144
세로 200 을
절대 넘어가지않고 큰쪽 비율에 맞에 고정되겠네요.. 사진이 늘어나거나 깨지지도 않겠죠..
<td width="144"><a href="{$href}" target=_blank><img src="{$img}" $size_large_ok border="0" title="$title"></a></td>
// 위처럼 하면 가로 세로중 큰쪽을 기준으로 줄여주기때문에 적당한 크기로 줄어들어 출력이 될듯 싶네요..
$size[0]; //가로사이즈
$size[1]; // 세로사이즈
// 가로가 큰지 세로가 큰지 확인하는구문
if($size[0] > $size[1]){ $size_large_ok = "가로가 큼"; }
if($size[0] < $size[1]){ $size_large_ok = "세로가 큼"; }
// 위조건문에서 가로 세로 사이즈 중 가로가 큰지 세로가 큰지 판단이 되겠죠..
실제적으로 소스를 작성한다면 아래처럼
if($size[0] > $size[1]){ $size_large_ok = "width=144"; }
if($size[0] < $size[1]){ $size_large_ok = "height=200"; }
아래부분에 적용될 부분에 width="144" 이부분을 변수 $size_large_ok 로 대체해
적어넣으면 가로든 세로든 큰쪽을 기준으로 보여지기 때문에
기존 가로 144
세로 200 을
절대 넘어가지않고 큰쪽 비율에 맞에 고정되겠네요.. 사진이 늘어나거나 깨지지도 않겠죠..
<td width="144"><a href="{$href}" target=_blank><img src="{$img}" $size_large_ok border="0" title="$title"></a></td>
// 위처럼 하면 가로 세로중 큰쪽을 기준으로 줄여주기때문에 적당한 크기로 줄어들어 출력이 될듯 싶네요..
사진의 비율을 유지한채 사이즈를 변경하려면
가로사이즈와 세로사이즈 둘중 한개만 고정으로 잡으면 됩니다.
만일 가로와 세로 사이즈를 꼭 원하는 사이즈로만 나오게 하려 하신다면
사진이 찌그러지는것은 감수하셔야 합니다.
가로사이즈와 세로사이즈 둘중 한개만 고정으로 잡으면 됩니다.
만일 가로와 세로 사이즈를 꼭 원하는 사이즈로만 나오게 하려 하신다면
사진이 찌그러지는것은 감수하셔야 합니다.