이미지 업로드 후에 이미지 엑빡(x) 뜨네요.
오류가 나는곳의 주소를 알려주시면 더 빠르고 정확하게 답변 받을 수 있습니다.
오류 주소 : http://www.koreabn.de/bbs/board.php?bo_table=product
갤러리 스킨에 이미지 업로드하니 아무런 메세지없이 엑빡뜨네요.,
(사용스킨) http://sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=70570&sca=&sfl=wr_subject%7C%7Cwr_content&stx=%EC%98%81%EB%AC%B8+%EA%B0%A4%EB%9F%AC%EB%A6%AC
뷰, 리스트 페이지 모두 엑빡 뜹니다.
어떻게 해결해야하나요? (data 폴더와 하위폴더를 777로 바꿔도 마찬가자임)
list.skin.php
-----------
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 제목이 두줄로 표시되는 경우 이 코드를 사용해 보세요.
// <nobr style='display:block; overflow:hidden; width:000px;'>제목</nobr>
$board[bo_1] = "125";
$board[bo_2] = "125";
$board[bo_3] = "100";
if (!$board[bo_1]) alert("게시판 설정 : 여분 필드 1 에 목록에서 보여질 이미지의 폭을 설정하십시오. (픽셀 단위)");
if (!$board[bo_2]) alert("게시판 설정 : 여분 필드 2 에 목록에서 보여질 이미지의 높이을 설정하십시오. (픽셀 단위)");
if (!$board[bo_3]) alert("게시판 설정 : 여분 필드 3 에 목록에서 보여질 이미지의 질(quality)을 비율로 설정하십시오. (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);
?>
<table width="<?=$width?>" align="center" cellpadding="0" cellspcing="0"><tr><td>
<!-- 분류 셀렉트 박스, 게시물 몇건, 관리자화면 링크 -->
<table width="100%" cellspacing="0" cellpadding="0">
<tr height="25">
<? if ($is_category) { ?><form name="fcategory" method="get"><td width="50%"><select name=sca onchange="location='<?=$category_location?>'+this.value;"><option value=''>전체</option><?=$category_option?></select></td></form><? } ?>
<td align="right" style="font:normal 11px tahoma; color:#BABABA;">
Total <?=number_format($total_count)?>
<? if ($admin_href) { ?><a href="<?=$admin_href?>"><img src="<?=$board_skin_path?>/img/btn_admin.gif" title="관리자" border="0" align="absmiddle"></a><?}?></td>
</tr>
<tr><td height=5></td></tr>
</table>
<!-- 여백 --><table width="100%" cellspacing="0" cellpadding="0"><tr><td height="12"></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++)
{
$homepageurl="";
//추가
if($list[$i][wr_1] >= 100)
{
$ing="[작업완료]";
//$homepageurl=$list[wr_link1];
if($list[$i][wr_link1]) $homepageurl="<a href='".$list[$i][wr_link1]."' target=_blank>";
}
else $ing="";
$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("/\.(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
break;
/* rate 계산,, 썸네일은 가로 정렬임으로 세로가 동일해야 함 */
/*
$rate = $board[bo_1] / $size[0];
$height = (int)($size[1] * $rate);
$dst = imagecreatetruecolor($board[bo_1], $height);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $board[bo_1], $height, $size[0], $size[1]);
imagepng($dst, $thumb_path.'/'.$list[$i][wr_id], $board[bo_2]);
chmod($thumb_path.'/'.$list[$i][wr_id], 0606);
*/
$rate = $board[bo_2] / $size[1];
$width = (int)($size[0] * $rate);
//echo "rate : $rate ,width : $width, $height : $board[bo_2] <br>";
if($width <= $board[bo_1]) { //width가 지정된 사이즈보다 작을경우 rate 비율로 썸네일 생성
$dst = imagecreatetruecolor($width, $board[bo_2]);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $width, $board[bo_2], $size[0], $size[1]);
imagejpeg($dst, $thumb_path.'/'.$list[$i][wr_id], $board[bo_2]);
} else {
$rate = $board[bo_1] / $size[0];
$height = (int)($size[1] * $rate);
$dst = imagecreatetruecolor($board[bo_1], $height);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $board[bo_1], $height, $size[0], $size[1]);
imagejpeg($dst, $thumb_path.'/'.$list[$i][wr_id], $board[bo_2]);
}
chmod($thumb_path.'/'.$list[$i][wr_id], 0606);
}
}
$photo_view = $list[$i][file][0][path] .'/'. $list[$i][file][0][file];
if (file_exists($thumb)){
$img = "<img src='$thumb' border=0>";
}
$title = "GO SITE";
$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])
if ( !$list[$i][file][0][file])
$img = "<img src=$board_skin_path/img/no_image.gif>";
$href = "$g4[bbs_path]/board.php?bo_table=$bo_table&wr_id={$list[$i][wr_id]}&no=1";
$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]}'>";
if($list[$i][wr_2]) $btimg_dc="<img src='$board_skin_path/img/dc.gif' border=0 align=absmiddle>";
else $btimg_dc="";
$btimg_order="$board_skin_path/img/bt_order.gif";
$btimg_view="$board_skin_path/img/bt_view.gif";
$order_href="<a href='$g4[bbs_path]/write.php?bo_table=order&bunru=w&subject1={$list[$i][subject]}&code1={$list[$i][wr_1]}'>";
$tr = "";
if ($i && $i%$board[bo_gallery_cols]==0)
$tr = "</tr><tr>";
echo "$tr";
$subject = "<span $style>".cut_str($list[$i][subject],20)."</span>";
echo <<<HEREDOC
<td width="{$td_width}%" valign="top" align="left">
<table width="140" cellpadding="0" cellspacing="0" align=center>
<tr valign="top">
<td width="130">
<table width="130" height="130" cellpadding="5" cellspacing="0">
<tr>
<td style="border:solid 1px #EFEFEF;" align="center">
<table width="130" height="130" cellpadding="5" cellspacing="0">
<tr>
<td style="padding:2px;" align="center">
{$view_href}{$img}</a></td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr align=center>
<td height=3></td>
</tr>
<tr align=center>
<td><a href='{$list[$i][href]}'>$subject</a></td>
</tr>
<tr align=center>
<td class=small>{$list[$i][ca_name]}</a></td>
</tr>
<tr align=center>
<td>$checkbox</td>
</tr>
</table>
<br>
</td>
HEREDOC;
}
// 나머지 td 를 채운다.
$cnt = $i%$mod;
if ($cnt)
for ($i=$cnt; $i<$mod; $i++)
echo "<td> </td>\n";
if ($i == 0)
echo "<td colspan='$board[bo_gallery_cols]' height=50 align=center>EMPTY</td>";
?>
</form>
</tr>
</table>
<div style="clear:both; margin-top:7px; height:31px;">
<div style="float:left;">
<? if ($list_href) { ?>
<a href="<?=$list_href?>"><img src="<?=$board_skin_path?>/img/btn_list.gif" align=absmiddle></a>
<? } ?>
<? if ($is_checkbox) { ?>
<a href="javascript:select_delete();"><img src="<?=$board_skin_path?>/img/btn_select_delete.gif" align=absmiddle></a>
<a href="javascript:select_copy('copy');"><img src="<?=$board_skin_path?>/img/btn_select_copy.gif" align=absmiddle></a>
<a href="javascript:select_copy('move');"><img src="<?=$board_skin_path?>/img/btn_select_move.gif" align=absmiddle></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="text-align:center; line-height:30px; clear:both; margin:5px 0 10px 0; padding:5px 0; font-family:gulim;">
<? 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="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'>SUBJECT</option>
<option value='wr_content'>CONTENT</option>
<option value='wr_subject||wr_content'>SUBJECT+CONTENT</option>
<option value='mb_id,1'>MEMBER ID</option>
<option value='mb_id,0'>MEMBER ID(COMMENT)</option>
<option value='wr_name,1'>NAME</option>
<option value='wr_name,0'>NAME(COMMENT)</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>
</td></tr></table>
<script language="JavaScript">
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>
<? } ?>
-------------------------------------------------
view.skin.php
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
?>
<div style="height:12px; line-height:1px; font-size:1px;"> </div>
<!-- 게시글 보기 시작 -->
<table width="<?=$width?>" align="center" cellpadding="0" cellspacing="0"><tr><td>
<div style="clear:both; height:30px;">
<div style="float:left; margin-top:6px;">
<img src="<?=$board_skin_path?>/img/icon_date.gif" align=absmiddle>
<span style="color:#888888;">DATE : <?=date("y-m-d H:i", strtotime($view[wr_datetime]))?></span>
</div>
<!-- 링크 버튼 -->
<div style="float:right;">
<?
ob_start();
?>
<? if ($copy_href) { echo "<a href=\"$copy_href\"><img src='$board_skin_path/img/btn_copy.gif' border='0' align='absmiddle'></a> "; } ?>
<? if ($move_href) { echo "<a href=\"$move_href\"><img src='$board_skin_path/img/btn_move.gif' border='0' align='absmiddle'></a> "; } ?>
<? if ($search_href) { echo "<a href=\"$search_href\"><img src='$board_skin_path/img/btn_list_search.gif' border='0' align='absmiddle'></a> "; } ?>
<? echo "<a href=\"$list_href\"><img src='$board_skin_path/img/btn_list.gif' border='0' align='absmiddle'></a> "; ?>
<? if ($update_href) { echo "<a href=\"$update_href\"><img src='$board_skin_path/img/btn_modify.gif' border='0' align='absmiddle'></a> "; } ?>
<? if ($delete_href) { echo "<a href=\"$delete_href\"><img src='$board_skin_path/img/btn_delete.gif' border='0' align='absmiddle'></a> "; } ?>
<? if ($reply_href) { echo "<a href=\"$reply_href\"><img src='$board_skin_path/img/btn_reply.gif' border='0' align='absmiddle'></a> "; } ?>
<? if ($write_href) { echo "<a href=\"$write_href\"><img src='$board_skin_path/img/btn_write.gif' border='0' align='absmiddle'></a> "; } ?>
<?
$link_buttons = ob_get_contents();
ob_end_flush();
?>
</div>
</div>
<div style="border:1px solid #ddd; clear:both; height:34px; background:url(<?=$board_skin_path?>/img/title_bg.gif) repeat-x;">
<table border=0 cellpadding=0 cellspacing=0 width=100%>
<tr>
<td style="padding:8px 0 0 10px;">
<div style="color:#505050; font-size:13px; font-weight:bold; word-break:break-all;">
<? if ($is_category) { echo ($category_name ? "[$view[ca_name]] " : ""); } ?>
<?=cut_hangul_last(get_text($view[wr_subject]))?>
</div>
</td>
<td align="right" style="padding:6px 6px 0 0;" width=120>
<? if ($scrap_href) { echo "<a href=\"javascript:;\" onclick=\"win_scrap('$scrap_href');\"><img src='$board_skin_path/img/btn_scrap.gif' border='0' align='absmiddle'></a> "; } ?>
<? if ($trackback_url) { ?><a href="javascript:trackback_send_server('<?=$trackback_url?>');" style="letter-spacing:0;" title='주소 복사'><img src="<?=$board_skin_path?>/img/btn_trackback.gif" alt="" align="absmiddle"></a><?}?>
</td>
</tr>
</table>
</div>
<div style="height:3px; background:url(<?=$board_skin_path?>/img/title_shadow.gif) repeat-x; line-height:1px; font-size:1px;"></div>
<table border=0 cellpadding=0 cellspacing=0 width=<?=$width?>>
<tr>
<td height=30 background="<?=$board_skin_path?>/img/view_dot.gif" style="color:#888;">
<div style="float:left;">
글쓴이 :
<?=$view[name]?><? if ($is_ip_view) { echo " ($ip)"; } ?>
</div>
<div style="float:right;">
<img src="<?=$board_skin_path?>/img/icon_view.gif" align=absmiddle> 조회 : <?=number_format($view[wr_hit])?>
<? if ($is_good) { ?> <img src="<?=$board_skin_path?>/img/icon_good.gif" align=absmiddle> 추천 : <?=number_format($view[wr_good])?><? } ?>
<? if ($is_nogood) { ?> <img src="<?=$board_skin_path?>/img/icon_nogood.gif" align=absmiddle> 비추천 : <?=number_format($view[wr_nogood])?><? } ?>
</div>
</td>
</tr>
<?
// 가변 파일
$cnt = 0;
for ($i=0; $i<count($view[file]); $i++) {
if ($view[file][$i][source] && !$view[file][$i][view]) {
$cnt++;
echo "<tr><td height=30 background=\"$board_skin_path/img/view_dot.gif\">";
echo " <img src='{$board_skin_path}/img/icon_file.gif' align=absmiddle>";
echo "<a href=\"javascript:file_download('{$view[file][$i][href]}', '{$view[file][$i][source]}');\" title='{$view[file][$i][content]}'>";
echo " <span style=\"color:#888;\">{$view[file][$i][source]} ({$view[file][$i][size]})</span>";
echo " <span style=\"color:#ff6600; font-size:11px;\">[{$view[file][$i][download]}]</span>";
echo " <span style=\"color:#d3d3d3; font-size:11px;\">DATE : {$view[file][$i][datetime]}</span>";
echo "</a></td></tr>";
}
}
// 링크
$cnt = 0;
for ($i=1; $i<=$g4[link_count]; $i++) {
if ($view[link][$i]) {
$cnt++;
$link = cut_str($view[link][$i], 70);
echo "<tr><td height=30 background=\"$board_skin_path/img/view_dot.gif\">";
echo " <img src='{$board_skin_path}/img/icon_link.gif' align=absmiddle>";
echo "<a href='{$view[link_href][$i]}' target=_blank>";
echo " <span style=\"color:#888;\">{$link}</span>";
echo " <span style=\"color:#ff6600; font-size:11px;\">[{$view[link_hit][$i]}]</span>";
echo "</a></td></tr>";
}
}
?>
<tr>
<td height="150" style="word-break:break-all; padding:10px;">
<?
// 파일 출력
for ($i=0; $i<=count($view[file]); $i++) {
if ($view[file][$i][view])
echo $view[file][$i][view] . "<p>";
}
?>
<!-- 내용 출력 -->
<span id="writeContents"><?=$view[content];?></span>
<?//echo $view[rich_content]; // {이미지:0} 과 같은 코드를 사용할 경우?>
<!-- 테러 태그 방지용 --></xml></xmp><a href=""></a><a href=''></a>
<? if ($nogood_href) {?>
<div style="width:72px; height:55px; background:url(<?=$board_skin_path?>/img/good_bg.gif) no-repeat; text-align:center; float:right;">
<div style="color:#888; margin:7px 0 5px 0;">비추천 : <?=number_format($view[wr_nogood])?></div>
<div><a href="<?=$nogood_href?>" target="hiddenframe"><img src="<?=$board_skin_path?>/img/icon_nogood.gif" align="absmiddle"></a></div>
</div>
<? } ?>
<? if ($good_href) {?>
<div style="width:72px; height:55px; background:url(<?=$board_skin_path?>/img/good_bg.gif) no-repeat; text-align:center; float:right;">
<div style="color:#888; margin:7px 0 5px 0;"><span style='color:crimson;'>추천 : <?=number_format($view[wr_good])?></span></div>
<div><a href="<?=$good_href?>" target="hiddenframe"><img src="<?=$board_skin_path?>/img/icon_good.gif" align="absmiddle"></a></div>
</div>
<? } ?>
</td>
</tr>
<? if ($is_signature) { echo "<tr><td align='center' style='border-bottom:1px solid #E7E7E7; padding:5px 0;'>$signature</td></tr>"; } // 서명 출력 ?>
</table>
<br>
<?
// 코멘트 입출력
include_once("./view_comment.php");
?>
<div style="height:1px; line-height:1px; font-size:1px; background-color:#ddd; clear:both;"> </div>
<div style="clear:both; height:43px;">
<div style="float:left; margin-top:10px;">
<? if ($prev_href) { echo "<a href=\"$prev_href\" title=\"$prev_wr_subject\"><img src='$board_skin_path/img/btn_prev.gif' border='0' align='absmiddle'></a> "; } ?>
<? if ($next_href) { echo "<a href=\"$next_href\" title=\"$next_wr_subject\"><img src='$board_skin_path/img/btn_next.gif' border='0' align='absmiddle'></a> "; } ?>
</div>
<!-- 링크 버튼 -->
<div style="float:right; margin-top:10px;">
<?=$link_buttons?>
</div>
</div>
<div style="height:2px; line-height:1px; font-size:1px; background-color:#dedede; clear:both;"> </div>
</td></tr></table><br>
<script language="JavaScript">
function file_download(link, file) {
<? if ($board[bo_download_point] < 0) { ?>if (confirm("'"+file+"' 파일을 다운로드 하시면 포인트가 차감(<?=number_format($board[bo_download_point])?>점)됩니다.\n\n포인트는 게시물당 한번만 차감되며 다음에 다시 다운로드 하셔도 중복하여 차감하지 않습니다.\n\n그래도 다운로드 하시겠습니까?"))<?}?>
document.location.href=link;
}
</script>
<script language="JavaScript" src="<?="$g4[path]/js/board.js"?>"></script>
<script language="JavaScript">
window.onload=function() {
resizeBoardImage(<?=(int)$board[bo_image_width]?>);
drawFont();
}
</script>
<!-- 게시글 보기 끝 -->
오류 주소 : http://www.koreabn.de/bbs/board.php?bo_table=product
갤러리 스킨에 이미지 업로드하니 아무런 메세지없이 엑빡뜨네요.,
(사용스킨) http://sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=70570&sca=&sfl=wr_subject%7C%7Cwr_content&stx=%EC%98%81%EB%AC%B8+%EA%B0%A4%EB%9F%AC%EB%A6%AC
뷰, 리스트 페이지 모두 엑빡 뜹니다.
어떻게 해결해야하나요? (data 폴더와 하위폴더를 777로 바꿔도 마찬가자임)
list.skin.php
-----------
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 제목이 두줄로 표시되는 경우 이 코드를 사용해 보세요.
// <nobr style='display:block; overflow:hidden; width:000px;'>제목</nobr>
$board[bo_1] = "125";
$board[bo_2] = "125";
$board[bo_3] = "100";
if (!$board[bo_1]) alert("게시판 설정 : 여분 필드 1 에 목록에서 보여질 이미지의 폭을 설정하십시오. (픽셀 단위)");
if (!$board[bo_2]) alert("게시판 설정 : 여분 필드 2 에 목록에서 보여질 이미지의 높이을 설정하십시오. (픽셀 단위)");
if (!$board[bo_3]) alert("게시판 설정 : 여분 필드 3 에 목록에서 보여질 이미지의 질(quality)을 비율로 설정하십시오. (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);
?>
<table width="<?=$width?>" align="center" cellpadding="0" cellspcing="0"><tr><td>
<!-- 분류 셀렉트 박스, 게시물 몇건, 관리자화면 링크 -->
<table width="100%" cellspacing="0" cellpadding="0">
<tr height="25">
<? if ($is_category) { ?><form name="fcategory" method="get"><td width="50%"><select name=sca onchange="location='<?=$category_location?>'+this.value;"><option value=''>전체</option><?=$category_option?></select></td></form><? } ?>
<td align="right" style="font:normal 11px tahoma; color:#BABABA;">
Total <?=number_format($total_count)?>
<? if ($admin_href) { ?><a href="<?=$admin_href?>"><img src="<?=$board_skin_path?>/img/btn_admin.gif" title="관리자" border="0" align="absmiddle"></a><?}?></td>
</tr>
<tr><td height=5></td></tr>
</table>
<!-- 여백 --><table width="100%" cellspacing="0" cellpadding="0"><tr><td height="12"></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++)
{
$homepageurl="";
//추가
if($list[$i][wr_1] >= 100)
{
$ing="[작업완료]";
//$homepageurl=$list[wr_link1];
if($list[$i][wr_link1]) $homepageurl="<a href='".$list[$i][wr_link1]."' target=_blank>";
}
else $ing="";
$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("/\.(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
break;
/* rate 계산,, 썸네일은 가로 정렬임으로 세로가 동일해야 함 */
/*
$rate = $board[bo_1] / $size[0];
$height = (int)($size[1] * $rate);
$dst = imagecreatetruecolor($board[bo_1], $height);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $board[bo_1], $height, $size[0], $size[1]);
imagepng($dst, $thumb_path.'/'.$list[$i][wr_id], $board[bo_2]);
chmod($thumb_path.'/'.$list[$i][wr_id], 0606);
*/
$rate = $board[bo_2] / $size[1];
$width = (int)($size[0] * $rate);
//echo "rate : $rate ,width : $width, $height : $board[bo_2] <br>";
if($width <= $board[bo_1]) { //width가 지정된 사이즈보다 작을경우 rate 비율로 썸네일 생성
$dst = imagecreatetruecolor($width, $board[bo_2]);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $width, $board[bo_2], $size[0], $size[1]);
imagejpeg($dst, $thumb_path.'/'.$list[$i][wr_id], $board[bo_2]);
} else {
$rate = $board[bo_1] / $size[0];
$height = (int)($size[1] * $rate);
$dst = imagecreatetruecolor($board[bo_1], $height);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $board[bo_1], $height, $size[0], $size[1]);
imagejpeg($dst, $thumb_path.'/'.$list[$i][wr_id], $board[bo_2]);
}
chmod($thumb_path.'/'.$list[$i][wr_id], 0606);
}
}
$photo_view = $list[$i][file][0][path] .'/'. $list[$i][file][0][file];
if (file_exists($thumb)){
$img = "<img src='$thumb' border=0>";
}
$title = "GO SITE";
$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])
if ( !$list[$i][file][0][file])
$img = "<img src=$board_skin_path/img/no_image.gif>";
$href = "$g4[bbs_path]/board.php?bo_table=$bo_table&wr_id={$list[$i][wr_id]}&no=1";
$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]}'>";
if($list[$i][wr_2]) $btimg_dc="<img src='$board_skin_path/img/dc.gif' border=0 align=absmiddle>";
else $btimg_dc="";
$btimg_order="$board_skin_path/img/bt_order.gif";
$btimg_view="$board_skin_path/img/bt_view.gif";
$order_href="<a href='$g4[bbs_path]/write.php?bo_table=order&bunru=w&subject1={$list[$i][subject]}&code1={$list[$i][wr_1]}'>";
$tr = "";
if ($i && $i%$board[bo_gallery_cols]==0)
$tr = "</tr><tr>";
echo "$tr";
$subject = "<span $style>".cut_str($list[$i][subject],20)."</span>";
echo <<<HEREDOC
<td width="{$td_width}%" valign="top" align="left">
<table width="140" cellpadding="0" cellspacing="0" align=center>
<tr valign="top">
<td width="130">
<table width="130" height="130" cellpadding="5" cellspacing="0">
<tr>
<td style="border:solid 1px #EFEFEF;" align="center">
<table width="130" height="130" cellpadding="5" cellspacing="0">
<tr>
<td style="padding:2px;" align="center">
{$view_href}{$img}</a></td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr align=center>
<td height=3></td>
</tr>
<tr align=center>
<td><a href='{$list[$i][href]}'>$subject</a></td>
</tr>
<tr align=center>
<td class=small>{$list[$i][ca_name]}</a></td>
</tr>
<tr align=center>
<td>$checkbox</td>
</tr>
</table>
<br>
</td>
HEREDOC;
}
// 나머지 td 를 채운다.
$cnt = $i%$mod;
if ($cnt)
for ($i=$cnt; $i<$mod; $i++)
echo "<td> </td>\n";
if ($i == 0)
echo "<td colspan='$board[bo_gallery_cols]' height=50 align=center>EMPTY</td>";
?>
</form>
</tr>
</table>
<div style="clear:both; margin-top:7px; height:31px;">
<div style="float:left;">
<? if ($list_href) { ?>
<a href="<?=$list_href?>"><img src="<?=$board_skin_path?>/img/btn_list.gif" align=absmiddle></a>
<? } ?>
<? if ($is_checkbox) { ?>
<a href="javascript:select_delete();"><img src="<?=$board_skin_path?>/img/btn_select_delete.gif" align=absmiddle></a>
<a href="javascript:select_copy('copy');"><img src="<?=$board_skin_path?>/img/btn_select_copy.gif" align=absmiddle></a>
<a href="javascript:select_copy('move');"><img src="<?=$board_skin_path?>/img/btn_select_move.gif" align=absmiddle></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="text-align:center; line-height:30px; clear:both; margin:5px 0 10px 0; padding:5px 0; font-family:gulim;">
<? 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="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'>SUBJECT</option>
<option value='wr_content'>CONTENT</option>
<option value='wr_subject||wr_content'>SUBJECT+CONTENT</option>
<option value='mb_id,1'>MEMBER ID</option>
<option value='mb_id,0'>MEMBER ID(COMMENT)</option>
<option value='wr_name,1'>NAME</option>
<option value='wr_name,0'>NAME(COMMENT)</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>
</td></tr></table>
<script language="JavaScript">
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>
<? } ?>
-------------------------------------------------
view.skin.php
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
?>
<div style="height:12px; line-height:1px; font-size:1px;"> </div>
<!-- 게시글 보기 시작 -->
<table width="<?=$width?>" align="center" cellpadding="0" cellspacing="0"><tr><td>
<div style="clear:both; height:30px;">
<div style="float:left; margin-top:6px;">
<img src="<?=$board_skin_path?>/img/icon_date.gif" align=absmiddle>
<span style="color:#888888;">DATE : <?=date("y-m-d H:i", strtotime($view[wr_datetime]))?></span>
</div>
<!-- 링크 버튼 -->
<div style="float:right;">
<?
ob_start();
?>
<? if ($copy_href) { echo "<a href=\"$copy_href\"><img src='$board_skin_path/img/btn_copy.gif' border='0' align='absmiddle'></a> "; } ?>
<? if ($move_href) { echo "<a href=\"$move_href\"><img src='$board_skin_path/img/btn_move.gif' border='0' align='absmiddle'></a> "; } ?>
<? if ($search_href) { echo "<a href=\"$search_href\"><img src='$board_skin_path/img/btn_list_search.gif' border='0' align='absmiddle'></a> "; } ?>
<? echo "<a href=\"$list_href\"><img src='$board_skin_path/img/btn_list.gif' border='0' align='absmiddle'></a> "; ?>
<? if ($update_href) { echo "<a href=\"$update_href\"><img src='$board_skin_path/img/btn_modify.gif' border='0' align='absmiddle'></a> "; } ?>
<? if ($delete_href) { echo "<a href=\"$delete_href\"><img src='$board_skin_path/img/btn_delete.gif' border='0' align='absmiddle'></a> "; } ?>
<? if ($reply_href) { echo "<a href=\"$reply_href\"><img src='$board_skin_path/img/btn_reply.gif' border='0' align='absmiddle'></a> "; } ?>
<? if ($write_href) { echo "<a href=\"$write_href\"><img src='$board_skin_path/img/btn_write.gif' border='0' align='absmiddle'></a> "; } ?>
<?
$link_buttons = ob_get_contents();
ob_end_flush();
?>
</div>
</div>
<div style="border:1px solid #ddd; clear:both; height:34px; background:url(<?=$board_skin_path?>/img/title_bg.gif) repeat-x;">
<table border=0 cellpadding=0 cellspacing=0 width=100%>
<tr>
<td style="padding:8px 0 0 10px;">
<div style="color:#505050; font-size:13px; font-weight:bold; word-break:break-all;">
<? if ($is_category) { echo ($category_name ? "[$view[ca_name]] " : ""); } ?>
<?=cut_hangul_last(get_text($view[wr_subject]))?>
</div>
</td>
<td align="right" style="padding:6px 6px 0 0;" width=120>
<? if ($scrap_href) { echo "<a href=\"javascript:;\" onclick=\"win_scrap('$scrap_href');\"><img src='$board_skin_path/img/btn_scrap.gif' border='0' align='absmiddle'></a> "; } ?>
<? if ($trackback_url) { ?><a href="javascript:trackback_send_server('<?=$trackback_url?>');" style="letter-spacing:0;" title='주소 복사'><img src="<?=$board_skin_path?>/img/btn_trackback.gif" alt="" align="absmiddle"></a><?}?>
</td>
</tr>
</table>
</div>
<div style="height:3px; background:url(<?=$board_skin_path?>/img/title_shadow.gif) repeat-x; line-height:1px; font-size:1px;"></div>
<table border=0 cellpadding=0 cellspacing=0 width=<?=$width?>>
<tr>
<td height=30 background="<?=$board_skin_path?>/img/view_dot.gif" style="color:#888;">
<div style="float:left;">
글쓴이 :
<?=$view[name]?><? if ($is_ip_view) { echo " ($ip)"; } ?>
</div>
<div style="float:right;">
<img src="<?=$board_skin_path?>/img/icon_view.gif" align=absmiddle> 조회 : <?=number_format($view[wr_hit])?>
<? if ($is_good) { ?> <img src="<?=$board_skin_path?>/img/icon_good.gif" align=absmiddle> 추천 : <?=number_format($view[wr_good])?><? } ?>
<? if ($is_nogood) { ?> <img src="<?=$board_skin_path?>/img/icon_nogood.gif" align=absmiddle> 비추천 : <?=number_format($view[wr_nogood])?><? } ?>
</div>
</td>
</tr>
<?
// 가변 파일
$cnt = 0;
for ($i=0; $i<count($view[file]); $i++) {
if ($view[file][$i][source] && !$view[file][$i][view]) {
$cnt++;
echo "<tr><td height=30 background=\"$board_skin_path/img/view_dot.gif\">";
echo " <img src='{$board_skin_path}/img/icon_file.gif' align=absmiddle>";
echo "<a href=\"javascript:file_download('{$view[file][$i][href]}', '{$view[file][$i][source]}');\" title='{$view[file][$i][content]}'>";
echo " <span style=\"color:#888;\">{$view[file][$i][source]} ({$view[file][$i][size]})</span>";
echo " <span style=\"color:#ff6600; font-size:11px;\">[{$view[file][$i][download]}]</span>";
echo " <span style=\"color:#d3d3d3; font-size:11px;\">DATE : {$view[file][$i][datetime]}</span>";
echo "</a></td></tr>";
}
}
// 링크
$cnt = 0;
for ($i=1; $i<=$g4[link_count]; $i++) {
if ($view[link][$i]) {
$cnt++;
$link = cut_str($view[link][$i], 70);
echo "<tr><td height=30 background=\"$board_skin_path/img/view_dot.gif\">";
echo " <img src='{$board_skin_path}/img/icon_link.gif' align=absmiddle>";
echo "<a href='{$view[link_href][$i]}' target=_blank>";
echo " <span style=\"color:#888;\">{$link}</span>";
echo " <span style=\"color:#ff6600; font-size:11px;\">[{$view[link_hit][$i]}]</span>";
echo "</a></td></tr>";
}
}
?>
<tr>
<td height="150" style="word-break:break-all; padding:10px;">
<?
// 파일 출력
for ($i=0; $i<=count($view[file]); $i++) {
if ($view[file][$i][view])
echo $view[file][$i][view] . "<p>";
}
?>
<!-- 내용 출력 -->
<span id="writeContents"><?=$view[content];?></span>
<?//echo $view[rich_content]; // {이미지:0} 과 같은 코드를 사용할 경우?>
<!-- 테러 태그 방지용 --></xml></xmp><a href=""></a><a href=''></a>
<? if ($nogood_href) {?>
<div style="width:72px; height:55px; background:url(<?=$board_skin_path?>/img/good_bg.gif) no-repeat; text-align:center; float:right;">
<div style="color:#888; margin:7px 0 5px 0;">비추천 : <?=number_format($view[wr_nogood])?></div>
<div><a href="<?=$nogood_href?>" target="hiddenframe"><img src="<?=$board_skin_path?>/img/icon_nogood.gif" align="absmiddle"></a></div>
</div>
<? } ?>
<? if ($good_href) {?>
<div style="width:72px; height:55px; background:url(<?=$board_skin_path?>/img/good_bg.gif) no-repeat; text-align:center; float:right;">
<div style="color:#888; margin:7px 0 5px 0;"><span style='color:crimson;'>추천 : <?=number_format($view[wr_good])?></span></div>
<div><a href="<?=$good_href?>" target="hiddenframe"><img src="<?=$board_skin_path?>/img/icon_good.gif" align="absmiddle"></a></div>
</div>
<? } ?>
</td>
</tr>
<? if ($is_signature) { echo "<tr><td align='center' style='border-bottom:1px solid #E7E7E7; padding:5px 0;'>$signature</td></tr>"; } // 서명 출력 ?>
</table>
<br>
<?
// 코멘트 입출력
include_once("./view_comment.php");
?>
<div style="height:1px; line-height:1px; font-size:1px; background-color:#ddd; clear:both;"> </div>
<div style="clear:both; height:43px;">
<div style="float:left; margin-top:10px;">
<? if ($prev_href) { echo "<a href=\"$prev_href\" title=\"$prev_wr_subject\"><img src='$board_skin_path/img/btn_prev.gif' border='0' align='absmiddle'></a> "; } ?>
<? if ($next_href) { echo "<a href=\"$next_href\" title=\"$next_wr_subject\"><img src='$board_skin_path/img/btn_next.gif' border='0' align='absmiddle'></a> "; } ?>
</div>
<!-- 링크 버튼 -->
<div style="float:right; margin-top:10px;">
<?=$link_buttons?>
</div>
</div>
<div style="height:2px; line-height:1px; font-size:1px; background-color:#dedede; clear:both;"> </div>
</td></tr></table><br>
<script language="JavaScript">
function file_download(link, file) {
<? if ($board[bo_download_point] < 0) { ?>if (confirm("'"+file+"' 파일을 다운로드 하시면 포인트가 차감(<?=number_format($board[bo_download_point])?>점)됩니다.\n\n포인트는 게시물당 한번만 차감되며 다음에 다시 다운로드 하셔도 중복하여 차감하지 않습니다.\n\n그래도 다운로드 하시겠습니까?"))<?}?>
document.location.href=link;
}
</script>
<script language="JavaScript" src="<?="$g4[path]/js/board.js"?>"></script>
<script language="JavaScript">
window.onload=function() {
resizeBoardImage(<?=(int)$board[bo_image_width]?>);
drawFont();
}
</script>
<!-- 게시글 보기 끝 -->
첨부파일
|
댓글을 작성하시려면 로그인이 필요합니다.
댓글 8개
그리고, 스킨이 좀 오래된 것이네요, 최신 그누보드4 소스에서 안되는 부분이 좀 있을 것 입니다.
최근 스킨을 이용해 보십시오..
다시 댓글 문의해도 될까요? 참고로 서버 계정은 해외 서버의 계정 입니다.
그리고, 글을 쓰신 계정을 알려 주시는 방법도 있습니다.
비회원으로 올렸을 때 자동등록방지코드가 나오더군요..
도대체 왜 그런걸까요?ㅡ.ㅡ;
글을 쓰신 계정이라면 관리자 로그인 정보를 말씀하시는지요??
첨부한 이미지 파일이 서버의 /data/file/product/ 경로에 제대로 올라가 있는지 확인해 보시기 바랍니다.
파일이 없으면, 업로드가 안된 것이고,
파일이 있으면, 웹서버에서 불려 지지가 않는 것입니다.
두 경우 모두 서버 세팅 쪽에 이유를 찾아 봐야 할 것 같습니다.