장터게시판스킨 ,,, 로딩시간 정보
장터게시판스킨 ,,, 로딩시간본문
장터게시판스킨을 너무 만족하게 사용하고 있습니다. 그런데 다만, 리스트를 로딩할때 너무 오랜 시간이 걸리는데 어느부분때문인지 도저히 알 수가 없네요 ㅠ. 혹시 파이어폭스의 부가기능을 이용해서라든지 와이어샤크라던지 편리하게 어느부분에서 웹페이지를 로딩하는데 오래걸리는지 알 수가 있나요 ??
혹시 아시는분이 있으시면 키워드로 힌트라도 주시면 정말 크나큰 도움이 될 것 같습니다!!! ^^
list.skin.php는 다음과 같습니다.
<META HTTP-EQUIV="Page-Enter" CONTENT="BlendTrans(Duration=0.3)">
<META HTTP-EQUIV="Page-exit" CONTENT="BlendTrans(Duration=0.3)">
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$img_width = 1200;
$img_height = 90;
$img_quality = 95;
if (!$img_width) alert("게시판 설정 : 여분 필드 1 에 목록에서 보여질 이미지의 폭을 설정하십시오. (픽셀 단위)");
if (!$img_height) alert("게시판 설정 : 여분 필드 2 에 목록에서 보여질 이미지의 높이를 설정하십시오. (픽셀 단위)");
if (!$img_quality) 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);
// 선택옵션으로 인해 셀합치기가 가변적으로 변함
$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>
$ex6_filed = explode("|",$list[$i][wr_6]);
//$ext6_00 = $ex6_filed[0]; // 제조사
//$ext6_01 = $ex6_filed[1]; // 모델명
//$ext6_02 = $ex6_filed[2]; // 상품상태
//$ext6_03 = $ex6_filed[3]; // 수량
//$ext6_04 = $ex6_filed[4]; // 사용기간
//$ext6_05 = $ex6_filed[5]; // 구입가격
//$ext6_06 = $ex6_filed[6]; // 거래방법
$ext6_07 = $ex6_filed[7]; // 거래상황
$ext6_08 = $ex6_filed[8]; // 희망가
//$ext6_09 = $ex6_filed[9]; // 입금구좌
?>
<div style="height:0px; line-height:0px; font-size:1px;"> </div>
<style>
.dm-hit { text-align:center; font:bold; font-size:14px; color:"black; }
</style>
<!-- 게시판 목록 시작 -->
<table width="<?=$width?>" align=center cellpadding=0 cellspacing=0><tr><td>
<!-- 분류 셀렉트 박스, 게시물 몇건, 관리자화면 링크 -->
<table border=0 width="100%" cellspacing="0" cellpadding="0">
<tr height="0"></tr><tr></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=''>
<table width=100% border=0 cellpadding=0 cellspacing=0 style="font-weight:bold; color:#505050;">
<td width="0%">
<td align="left">
<!-- 게시판명 <img src="<?=$board_skin_path?>/img/dot2.gif" align=absmiddle>
<span style="color:#888888; font-weight:bold;">Total <?=number_format($total_count)?></span>-->
<? if ($rss_href) { ?><a href='<?=$rss_href?>'><img src='<?=$board_skin_path?>/img/btn_rss.gif' border=0 align=absmiddle></a><?}?>
<? if ($admin_href) { ?><a href="<?=$admin_href?>"><img src="<?=$board_skin_path?>/img/admin_button.gif" title="관리자" align="absmiddle"></a><?}?>
</td>
<!--<td width=50>번호</td> -->
<? if ($is_checkbox) { ?><td width=5><input onclick="if (this.checked) all_checked(true); else all_checked(false);" type=checkbox></td><?}?>
<td align=right>
<!-- <?=subject_sort_link('wr_good', $qstr2, 1)?>추천순</a>
|
<?=subject_sort_link('wr_hit', $qstr2, 1)?>조회순</a>
|
<?=subject_sort_link('wr_comment', $qstr2, 1)?>코멘트순</a>-->
</tr>
</table> <div style="height:1px; line-height:1px; font-size:1px; background-color:#ddd; clear:both;"> </div>
<div style="height:3px; background:url(<?=$board_skin_path?>/img/title_shadow.gif) repeat-x; line-height:1px; font-size:1px;"></div>
<table width=110% border=0 cellpadding=0 cellspacing=0>
<!-- 목록 -->
<?
for ($i=0; $i<count($list); $i++)
{
$img = "<img src='$board_skin_path/img/noimage.gif' border=0 width='$img_width' height='$img_height' title='이미지 없음' align=left style='margin-right:5px; border:1 solid #CCCCCC; padding:3px;'>";
$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 = $img_width / $size[0];
$height = (int)($size[1] * $rate);
// 계산된 썸네일 이미지의 높이가 설정된 이미지의 높이보다 작다면
if ($height < $img_height)
// 계산된 이미지 높이로 복사본 이미지 생성
$dst = imagecreatetruecolor($img_width, $height);
else
// 설정된 이미지 높이로 복사본 이미지 생성
$dst = imagecreatetruecolor($img_width, $img_height);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $img_width, $height, $size[0], $size[1]);
// imagepng($dst, $thumb_path.'/'.$list[$i][wr_id], $img_quality);
//chmod($thumb_path.'/'.$list[$i][wr_id], 0606);
}
}
$imagee = urlencode($list[$i][file][0][file]); // 첫번째 파일은 이미지이며 thumb 가 먹지 않을 때 사용
if (file_exists($thumb))
$img = "<img src='../data/file/$bo_table/$imagee' width='100' height='100' border=0 style='border:1px solid #CCCCCC; padding:3px;'>";
else
if(preg_match("/\.(swf|wma|asf)$/i","$file") && file_exists($file))
{ $img = "<script>doc_write(flash_movie('$file', 'flash$i', '$img_width', '$img_height', 'transparent'));</script>"; }
?>
<tr align=center>
<!--<td width=50>
<?
if ($list[$i][is_notice]) // 공지사항
echo "<img src=\"$board_skin_path/img/icon_notice.gif\">";
else if ($wr_id == $list[$i][wr_id]) // 현재위치
echo "<span style='font:bold 11px tahoma; color:#E15916;'>{$list[$i][num]}</span>";
else
echo "<span style='font:normal 11px tahoma; color:#B3B3B3;'>{$list[$i][num]}</span>";
?>
</td>-->
<? if ($is_checkbox) { ?><td width=5><input type=checkbox name=chk_wr_id[] value="<?=$list[$i][wr_id]?>"></td><? } ?>
<td align=left style='word-break:break-all; padding-top:15px; padding-bottom:15px;'>
<table>
<tr><!--히트띠--><?echo "<div style='z-index:1; position:absolute; padding:0 0 0 341'>";
echo " " . $list[$i][icon_hot];?><!--히트띠-->
<td width=50 align='center'>
<table width="50" border="0" cellspacing="0" cellpadding="5">
<tr><div style='z-index:1; position:absolute; padding:0 0 0 0'>
<?
if ($list[$i][wr_3] == "거래중") { // 거래중
echo "<img src=\"{$board_skin_path}/img/icon_03.gif\" width='47' height='16' align='absmiddle' border=0>";
}
else if ($list[$i][wr_3] == "거래완료") { // 거래완료
echo "<img src=\"{$board_skin_path}/img/recom.gif\" width='47' height='42' align='absmiddle' border=0>";
}
?>
<td height="100" background="<?=$board_skin_path?>/img/hit_bgs.gif"><div class="dm-hit"><?=$list[$i][wr_hit]?> </div></td>
</tr> </table>
</td>
<td valign=top width=400>
<? echo "<a href='{$list[$i][href]}' $style>";
echo "<span style='font-size:11pt;'><font color='444444'><b>".$list[$i][subject]."</b></font></span>";
echo "</a>";?>
<?
echo "<br>";
$bol=ereg("삽니다",$list[$i][wr_6])."/";
if($bol==0){
echo "<font color='#ff6600'> 판매 : <b>".number_format($list[$i][wr_9])."</b> 원</font>";
}else{
echo "<font color='0C1480'> 구매 : <b>".number_format($list[$i][wr_9])."</b> 원</font>";
}
echo "<br>";
?>
제품 소개<?if ($list[$i][comment_cnt])
echo " <a href=\"{$list[$i][comment_href]}\"><span class='comment'>{$list[$i][comment_cnt]}</span></a>";?><br>
<font color=#AAAAAA><?=cut_str(strip_tags($list[$i][wr_content]),75,"…")?></font>
</td>
<td width=10></td>
</tr>
</table>
</td>
</td>
<td align=right width=0>
<nobr style='display:block; overflow:hidden; width:165px;'>
<?
if($member[mb_id] == $list[$i][mb_id] || $is_admin) { //관리자 또는 자기 자신일 경우
echo <<<HEREDOC
<a href="{$list[$i][href]}"><img src="../data/file/$bo_table/$imagee" onmouseover="this.style.filter='gray alpha(opacity=60)'" onmouseout="this.style.filter=''" border="0" width='160' height='107'></a>
HEREDOC;
// echo "<a href='{$list[$i][href]}'>";
// echo $img;
// echo "</a>";
} else {
echo <<<HEREDOC
<a href="{$list[$i][href]}"><img src="../data/file/$bo_table/$imagee" onmouseover="this.style.filter='gray alpha(opacity=60)'" onmouseout="this.style.filter=''" border="0" width='160' height='107'></a>
HEREDOC;
// echo "<a href='{$list[$i][wr_link1]}' target='_blank'>";
// echo $img;
// echo "</a>";
}
echo "<br>";
echo $nobr_begin;
echo $list[$i][reply];
echo $list[$i][icon_reply];
//if ($is_category && $list[$i][ca_name]) {
//echo "<span class=small><font color=gray>[<a //href='{$list[$i][ca_name_href]}'>{$list[$i][ca_name]}</a>]</font></span> ";
//}
// if ($list[$i]['link']['count']) { echo "[{$list[$i]['link']['count']}]"; }
// if ($list[$i]['file']['count']) { echo "<{$list[$i]['file']['count']}>"; }
// echo " " . $list[$i][icon_new];
// echo $nobr_end;
echo "</div>";
?></nobr></td>
<!---<td width=40><span style='font:normal 11px tahoma; color:#BABABA;'><?=$list[$i][datetime2]?></span></td>--->
<td width=1><span style='font:normal 11px tahoma; color:#BABABA;'>
<table width="75" border="0" cellspacing="0" cellpadding="5">
<tr>
</tr> </table>
</span><!--</td><td width="10%" height="50" valign="middle">-->
<!-- <td width="10%" height="70" valign="middle">
00 <table width="50" border="0" cellspacing="0" cellpadding="5">
<tr><?echo "<div style='z-index:1; position:absolute; padding:0 0 0 0'>";
echo " " . $list[$i][icon_hot];?>
<td height="70" background="<?=$board_skin_path?>/img/hit_bg.gif"><div class="dm-hit"><?=$list[$i][wr_hit]?></div></td>
</tr> </table>00-->
<tr><td colspan=<?=$colspan?> height=1 bgcolor=#eeeeee></td></tr>
<?}?>
<? if (count($list) == 0) { echo "<tr><td colspan='$colspan' height=100 align=center>게시물이 없습니다.</td></tr>"; } ?>
</table>
</form>
<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>
</td></tr></table>
<? 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>
<? } ?>
<!-- 게시판 목록 끝 -->
<!----- 하단 리스트 페이지의 공통 부분 ------>
<SCRIPT LANGUAGE="JavaScript1.1">
<!--
function showaddservice() {
if (document.all) {
document.all.addservice.style.posTop=randomposition(600)-40
document.all.addservice.style.posLeft=randomposition(1024)-80
document.all.addservice.style.visibility="visible"
}
if (document.layers) {
document.addservice.top=randomposition(600)-40
document.addservice.left=randomposition(1024)-80
document.addservice.visibility="visible"
}
// var timer =setTimeout("hideaddservice()",2500)
}
/* function hideaddservice() {
if (document.all) {document.all.addservice.style.visibility="hidden"}
if (document.layers) {document.addservice.visibility="hidden"}
var timer =setTimeout("showaddservice()",4000)
}*/
function randomposition(range) {
return Math.floor(range*Math.random())
}
// -->
</SCRIPT>
<BODY onLoad="showaddservice()">
<!---<INPUT TYPE="button" VALUE="새로고침" onClick='parent.location="javascript:location.reload()"'><p>--->
<div id="addservice" style="position:absolute;visibility:hidden">
</div>
</BODY>
</HTML>
<style type="text/css">
<!--
body {
scrollbar-face-color:#E1ECF8;
scrollbar-highlight-color: EBEBEB;
scrollbar-3dlight-color: #FFFFFF;
scrollbar-shadow-color: EBEBEB;
scrollbar-darkshadow-color: #B3CEE8;
scrollbar-track-color: #FFFFFF;
scrollbar-arrow-color: 8196AA}
-->
</style>
<META HTTP-EQUIV="Page-Enter" CONTENT="BlendTrans(Duration=0.3)">
<META HTTP-EQUIV="Page-exit" CONTENT="BlendTrans(Duration=0.3)">
혹시 아시는분이 있으시면 키워드로 힌트라도 주시면 정말 크나큰 도움이 될 것 같습니다!!! ^^
list.skin.php는 다음과 같습니다.
<META HTTP-EQUIV="Page-Enter" CONTENT="BlendTrans(Duration=0.3)">
<META HTTP-EQUIV="Page-exit" CONTENT="BlendTrans(Duration=0.3)">
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$img_width = 1200;
$img_height = 90;
$img_quality = 95;
if (!$img_width) alert("게시판 설정 : 여분 필드 1 에 목록에서 보여질 이미지의 폭을 설정하십시오. (픽셀 단위)");
if (!$img_height) alert("게시판 설정 : 여분 필드 2 에 목록에서 보여질 이미지의 높이를 설정하십시오. (픽셀 단위)");
if (!$img_quality) 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);
// 선택옵션으로 인해 셀합치기가 가변적으로 변함
$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>
$ex6_filed = explode("|",$list[$i][wr_6]);
//$ext6_00 = $ex6_filed[0]; // 제조사
//$ext6_01 = $ex6_filed[1]; // 모델명
//$ext6_02 = $ex6_filed[2]; // 상품상태
//$ext6_03 = $ex6_filed[3]; // 수량
//$ext6_04 = $ex6_filed[4]; // 사용기간
//$ext6_05 = $ex6_filed[5]; // 구입가격
//$ext6_06 = $ex6_filed[6]; // 거래방법
$ext6_07 = $ex6_filed[7]; // 거래상황
$ext6_08 = $ex6_filed[8]; // 희망가
//$ext6_09 = $ex6_filed[9]; // 입금구좌
?>
<div style="height:0px; line-height:0px; font-size:1px;"> </div>
<style>
.dm-hit { text-align:center; font:bold; font-size:14px; color:"black; }
</style>
<!-- 게시판 목록 시작 -->
<table width="<?=$width?>" align=center cellpadding=0 cellspacing=0><tr><td>
<!-- 분류 셀렉트 박스, 게시물 몇건, 관리자화면 링크 -->
<table border=0 width="100%" cellspacing="0" cellpadding="0">
<tr height="0"></tr><tr></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=''>
<table width=100% border=0 cellpadding=0 cellspacing=0 style="font-weight:bold; color:#505050;">
<td width="0%">
<td align="left">
<!-- 게시판명 <img src="<?=$board_skin_path?>/img/dot2.gif" align=absmiddle>
<span style="color:#888888; font-weight:bold;">Total <?=number_format($total_count)?></span>-->
<? if ($rss_href) { ?><a href='<?=$rss_href?>'><img src='<?=$board_skin_path?>/img/btn_rss.gif' border=0 align=absmiddle></a><?}?>
<? if ($admin_href) { ?><a href="<?=$admin_href?>"><img src="<?=$board_skin_path?>/img/admin_button.gif" title="관리자" align="absmiddle"></a><?}?>
</td>
<!--<td width=50>번호</td> -->
<? if ($is_checkbox) { ?><td width=5><input onclick="if (this.checked) all_checked(true); else all_checked(false);" type=checkbox></td><?}?>
<td align=right>
<!-- <?=subject_sort_link('wr_good', $qstr2, 1)?>추천순</a>
|
<?=subject_sort_link('wr_hit', $qstr2, 1)?>조회순</a>
|
<?=subject_sort_link('wr_comment', $qstr2, 1)?>코멘트순</a>-->
</tr>
</table> <div style="height:1px; line-height:1px; font-size:1px; background-color:#ddd; clear:both;"> </div>
<div style="height:3px; background:url(<?=$board_skin_path?>/img/title_shadow.gif) repeat-x; line-height:1px; font-size:1px;"></div>
<table width=110% border=0 cellpadding=0 cellspacing=0>
<!-- 목록 -->
<?
for ($i=0; $i<count($list); $i++)
{
$img = "<img src='$board_skin_path/img/noimage.gif' border=0 width='$img_width' height='$img_height' title='이미지 없음' align=left style='margin-right:5px; border:1 solid #CCCCCC; padding:3px;'>";
$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 = $img_width / $size[0];
$height = (int)($size[1] * $rate);
// 계산된 썸네일 이미지의 높이가 설정된 이미지의 높이보다 작다면
if ($height < $img_height)
// 계산된 이미지 높이로 복사본 이미지 생성
$dst = imagecreatetruecolor($img_width, $height);
else
// 설정된 이미지 높이로 복사본 이미지 생성
$dst = imagecreatetruecolor($img_width, $img_height);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $img_width, $height, $size[0], $size[1]);
// imagepng($dst, $thumb_path.'/'.$list[$i][wr_id], $img_quality);
//chmod($thumb_path.'/'.$list[$i][wr_id], 0606);
}
}
$imagee = urlencode($list[$i][file][0][file]); // 첫번째 파일은 이미지이며 thumb 가 먹지 않을 때 사용
if (file_exists($thumb))
$img = "<img src='../data/file/$bo_table/$imagee' width='100' height='100' border=0 style='border:1px solid #CCCCCC; padding:3px;'>";
else
if(preg_match("/\.(swf|wma|asf)$/i","$file") && file_exists($file))
{ $img = "<script>doc_write(flash_movie('$file', 'flash$i', '$img_width', '$img_height', 'transparent'));</script>"; }
?>
<tr align=center>
<!--<td width=50>
<?
if ($list[$i][is_notice]) // 공지사항
echo "<img src=\"$board_skin_path/img/icon_notice.gif\">";
else if ($wr_id == $list[$i][wr_id]) // 현재위치
echo "<span style='font:bold 11px tahoma; color:#E15916;'>{$list[$i][num]}</span>";
else
echo "<span style='font:normal 11px tahoma; color:#B3B3B3;'>{$list[$i][num]}</span>";
?>
</td>-->
<? if ($is_checkbox) { ?><td width=5><input type=checkbox name=chk_wr_id[] value="<?=$list[$i][wr_id]?>"></td><? } ?>
<td align=left style='word-break:break-all; padding-top:15px; padding-bottom:15px;'>
<table>
<tr><!--히트띠--><?echo "<div style='z-index:1; position:absolute; padding:0 0 0 341'>";
echo " " . $list[$i][icon_hot];?><!--히트띠-->
<td width=50 align='center'>
<table width="50" border="0" cellspacing="0" cellpadding="5">
<tr><div style='z-index:1; position:absolute; padding:0 0 0 0'>
<?
if ($list[$i][wr_3] == "거래중") { // 거래중
echo "<img src=\"{$board_skin_path}/img/icon_03.gif\" width='47' height='16' align='absmiddle' border=0>";
}
else if ($list[$i][wr_3] == "거래완료") { // 거래완료
echo "<img src=\"{$board_skin_path}/img/recom.gif\" width='47' height='42' align='absmiddle' border=0>";
}
?>
<td height="100" background="<?=$board_skin_path?>/img/hit_bgs.gif"><div class="dm-hit"><?=$list[$i][wr_hit]?> </div></td>
</tr> </table>
</td>
<td valign=top width=400>
<? echo "<a href='{$list[$i][href]}' $style>";
echo "<span style='font-size:11pt;'><font color='444444'><b>".$list[$i][subject]."</b></font></span>";
echo "</a>";?>
<?
echo "<br>";
$bol=ereg("삽니다",$list[$i][wr_6])."/";
if($bol==0){
echo "<font color='#ff6600'> 판매 : <b>".number_format($list[$i][wr_9])."</b> 원</font>";
}else{
echo "<font color='0C1480'> 구매 : <b>".number_format($list[$i][wr_9])."</b> 원</font>";
}
echo "<br>";
?>
제품 소개<?if ($list[$i][comment_cnt])
echo " <a href=\"{$list[$i][comment_href]}\"><span class='comment'>{$list[$i][comment_cnt]}</span></a>";?><br>
<font color=#AAAAAA><?=cut_str(strip_tags($list[$i][wr_content]),75,"…")?></font>
</td>
<td width=10></td>
</tr>
</table>
</td>
</td>
<td align=right width=0>
<nobr style='display:block; overflow:hidden; width:165px;'>
<?
if($member[mb_id] == $list[$i][mb_id] || $is_admin) { //관리자 또는 자기 자신일 경우
echo <<<HEREDOC
<a href="{$list[$i][href]}"><img src="../data/file/$bo_table/$imagee" onmouseover="this.style.filter='gray alpha(opacity=60)'" onmouseout="this.style.filter=''" border="0" width='160' height='107'></a>
HEREDOC;
// echo "<a href='{$list[$i][href]}'>";
// echo $img;
// echo "</a>";
} else {
echo <<<HEREDOC
<a href="{$list[$i][href]}"><img src="../data/file/$bo_table/$imagee" onmouseover="this.style.filter='gray alpha(opacity=60)'" onmouseout="this.style.filter=''" border="0" width='160' height='107'></a>
HEREDOC;
// echo "<a href='{$list[$i][wr_link1]}' target='_blank'>";
// echo $img;
// echo "</a>";
}
echo "<br>";
echo $nobr_begin;
echo $list[$i][reply];
echo $list[$i][icon_reply];
//if ($is_category && $list[$i][ca_name]) {
//echo "<span class=small><font color=gray>[<a //href='{$list[$i][ca_name_href]}'>{$list[$i][ca_name]}</a>]</font></span> ";
//}
// if ($list[$i]['link']['count']) { echo "[{$list[$i]['link']['count']}]"; }
// if ($list[$i]['file']['count']) { echo "<{$list[$i]['file']['count']}>"; }
// echo " " . $list[$i][icon_new];
// echo $nobr_end;
echo "</div>";
?></nobr></td>
<!---<td width=40><span style='font:normal 11px tahoma; color:#BABABA;'><?=$list[$i][datetime2]?></span></td>--->
<td width=1><span style='font:normal 11px tahoma; color:#BABABA;'>
<table width="75" border="0" cellspacing="0" cellpadding="5">
<tr>
</tr> </table>
</span><!--</td><td width="10%" height="50" valign="middle">-->
<!-- <td width="10%" height="70" valign="middle">
00 <table width="50" border="0" cellspacing="0" cellpadding="5">
<tr><?echo "<div style='z-index:1; position:absolute; padding:0 0 0 0'>";
echo " " . $list[$i][icon_hot];?>
<td height="70" background="<?=$board_skin_path?>/img/hit_bg.gif"><div class="dm-hit"><?=$list[$i][wr_hit]?></div></td>
</tr> </table>00-->
<tr><td colspan=<?=$colspan?> height=1 bgcolor=#eeeeee></td></tr>
<?}?>
<? if (count($list) == 0) { echo "<tr><td colspan='$colspan' height=100 align=center>게시물이 없습니다.</td></tr>"; } ?>
</table>
</form>
<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>
</td></tr></table>
<? 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>
<? } ?>
<!-- 게시판 목록 끝 -->
<!----- 하단 리스트 페이지의 공통 부분 ------>
<SCRIPT LANGUAGE="JavaScript1.1">
<!--
function showaddservice() {
if (document.all) {
document.all.addservice.style.posTop=randomposition(600)-40
document.all.addservice.style.posLeft=randomposition(1024)-80
document.all.addservice.style.visibility="visible"
}
if (document.layers) {
document.addservice.top=randomposition(600)-40
document.addservice.left=randomposition(1024)-80
document.addservice.visibility="visible"
}
// var timer =setTimeout("hideaddservice()",2500)
}
/* function hideaddservice() {
if (document.all) {document.all.addservice.style.visibility="hidden"}
if (document.layers) {document.addservice.visibility="hidden"}
var timer =setTimeout("showaddservice()",4000)
}*/
function randomposition(range) {
return Math.floor(range*Math.random())
}
// -->
</SCRIPT>
<BODY onLoad="showaddservice()">
<!---<INPUT TYPE="button" VALUE="새로고침" onClick='parent.location="javascript:location.reload()"'><p>--->
<div id="addservice" style="position:absolute;visibility:hidden">
</div>
</BODY>
</HTML>
<style type="text/css">
<!--
body {
scrollbar-face-color:#E1ECF8;
scrollbar-highlight-color: EBEBEB;
scrollbar-3dlight-color: #FFFFFF;
scrollbar-shadow-color: EBEBEB;
scrollbar-darkshadow-color: #B3CEE8;
scrollbar-track-color: #FFFFFF;
scrollbar-arrow-color: 8196AA}
-->
</style>
<META HTTP-EQUIV="Page-Enter" CONTENT="BlendTrans(Duration=0.3)">
<META HTTP-EQUIV="Page-exit" CONTENT="BlendTrans(Duration=0.3)">
댓글 전체

해당 url좀 줘보세요! 일좀 하고 점심때 한번 보겠습니다. 쪽지~쪽지!

게시물이 몇십만건 되나요?
FF firebug yslow 이용하면 웹페이지 로딩시 어느 부분이 느린지 확인 가능하지만
DB에 게시물이 많이서 느린건 인덱스를 손본다던가 쿼리를 손봐야 됩니다.
FF firebug yslow 이용하면 웹페이지 로딩시 어느 부분이 느린지 확인 가능하지만
DB에 게시물이 많이서 느린건 인덱스를 손본다던가 쿼리를 손봐야 됩니다.