최근게시물 오류문제 정보
최근게시물 오류문제본문
최근게시물인데요.. 이미지를 넣고 글을 쓴경우 최근게시물에서 아무 문제가없습니다.. 근데 이미지를 넣지 않고 글을 쓸경우 사진과 같은 증상이 있습니다... 이미지가 깨지네요
정상적이다면 이미지를 넣지 않은경우 noimges라는 이미지가 대처 하게 되는데 지금 정확히 뭐가 문제지 모르겠네요.. 고수님들 제발 도와주세요.~~^^
문제가 되는 최근게시물 스킨입니다... 어디를 수정해야할까요 ??
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$img_width = 260; //큰 썸네일 가로
$img_height = 170; //큰 썸네일 세로
$img_width_s = 48; //작은 썸네일 가로
$img_height_s = 40; //작은 썸네일 세로
$img_quality = 99; //썸네일 퀄리티
if (!function_exists("imagecopyresampled")) alert("GD 2.0.1 이상 버전이 설치되어 있어야 사용할 수 있는 갤러리 게시판 입니다.");
$data_path = $g4[path]."/data/file/$bo_table";
$thumb_path = $data_path.'/thumb_ch01';
$ym = date("ym", $g4[server_time]);
@mkdir($thumb_path, 0707);
@chmod($thumb_path, 0707);
//코멘트와 리플글은 제외
$sql = " select * from $tmp_write_table
where wr_comment = '' and wr_reply = ''
order by wr_id DESC LIMIT 0, 1 ";
$result = sql_query($sql);
$last_con = sql_fetch_array($result);
?>
<SCRIPT type=text/javascript>
<!--
old_debate_M='1';
function ComeonM(objid_M){
document.getElementById("debate_M"+old_debate_M).style.display="none";
document.getElementById("debate_M"+old_debate_M+"#1").style.display="";
document.getElementById("debate_M"+objid_M+"#1").style.display="none";
document.getElementById("debate_M"+objid_M).style.display="";
document.getElementById("debate_content_M"+old_debate_M).style.display="none";
document.getElementById("debate_content_M"+objid_M).style.display="";
old_debate_M=objid_M;
}
var objid_M = 1;
var interval_best;
function best_change_M()
{
if( objid_M == 5 ) // 오버랩 갯수
objid_M = 1;
else
objid_M++;
ComeonM(objid_M);
}
function setInterval_best()
{
interval_best = setInterval("best_change_M()", 5000);//속도조절
}
function clearInterval_best()
{
clearInterval(interval_best);
}
setInterval_best();
//-->
</SCRIPT>
<style type="text/css">
ul, li { list-style:none; margin:0; padding:0;}
#ifocusP { width:260px; height:170px; margin:0px; border:0px }
#ifocusP_img { display:inline; position:relative; float:left; width:260px; height:170px; border:0px; overflow:hidden; }
#ifocusP_imglist { position:absolute; }
#ifocusP_imglist li { width:260px; height:170px; overflow:hidden; }
#ifocusP_imglist img { width:260px; height:170px;}
#ifocusP_ico { display:inline; float:center; width:1px;}
#ifocusP_ico li { width:10px; height:46px; cursor:pointer; opacity:0.5; -moz-opacity:0.5; filter:alpha(opacity=40); }
#ifocusP_ico img { width:260px; height:170px; }
#ifocusP_ico .current { background: url('<?=$latest_skin_path?>/image/ifocus_ico_bg.gif') no-repeat; opacity:1; -moz-opacity:1; filter:alpha(opacity=40); }
#ifocusP_subjbar { position:absolute; left:0; bottom:0; width:260px; height:46px; background:#000; opacity:0.4; -moz-opacity:0.5; filter:alpha(opacity=40); }
#ifocusP_subject { position:absolute; left:8px; bottom:5px; color:#FFFFFF;}
#ifocusP_subject .normal { display:none; }
.date {font-family:Tahoma; font-size:9px; color:#e3c191; padding-bottom:3px;}
</style>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr><td>
<? for ($i=0; $i<count($list); $i++) {
$j = $i + 1;
if ($j == "1") {
echo "<DIV>";
echo "<DIV id=debate_content_M$j onmouseover=clearInterval_best() onmouseout=setInterval_best()>"; }
else { echo "<DIV id=debate_content_M$j onmouseover=clearInterval_best() onmouseout=setInterval_best() style='DISPLAY: none;'>\n"; }
?>
<table width="100%" border="0" cellspacing="0" cellpadding="0" align="center">
<tr><td>
<?
//썸네일 생성
$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("/\.(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]);
imagejpeg($dst, $thumb_path.'/'.$list[$i][wr_id], $img_quality);
chmod($thumb_path.'/'.$list[$i][wr_id], 0606);
} else { //게디터에서 삽입한 이미지 뽑자ㅠㅠ
$edit_img = $list[$i]['wr_content'];
///////////////////////////// 변경된 부분
// if (eregi("data/geditor/{$ym}/[^<>]*\.(gif|jpg|png|bmp)", $edit_img, $tmp)) { // geditor 사용할 경우주석풀어서 사용
// if (eregi("data/cheditor/{$ym}/[^<>]*\.(gif|jpg|png|bmp)", $edit_img, $tmp)) { // chedito 사용할 경우주석풀어서 사용
if (eregi("data/cheditor4/{$ym}/[^<>]*\.(gif|jpg|png|bmp)", $edit_img, $tmp)) { // 에디터가 cheditor4 이면 주석풀어서 사용
$file = './' . $tmp[0]; // 파일경로 필요에 따라 변경하세요 . or ..
$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]);
imagejpeg($dst, $thumb_path.'/'.$list[$i][wr_id], $img_quality);
chmod($thumb_path.'/'.$list[$i][wr_id], 0606);
}
}
}
if (file_exists($thumb))
$thumfile = "<img src='$thumb' width='{$img_width}' height='{$img_height}' border='0' style='border:0px #ccc solid'></a>";
else
//이미지가 없으면
$thumfile="<img src='$latest_skin_path/img/noimg.gif' width='{$img_width}' height='{$img_height}' style='border:0 #E7E7E7 solid'></a>";
//이미지가 아니네
if(preg_match("/\.(swf|wma|asf)$/i","$file") && file_exists($file))
{ $thumfile = "<script>doc_write(flash_movie('$file', 'flash$i', '$img_width', '$img_height', 'transparent'));</script>"; }
?>
<div id="ifocusP">
<div id="ifocusP_img">
<div id="ifocusP_imglist">
<div id="ifocusP_subjbar"></div>
<div id="ifocusP_subject">
<?=$list[$i]['subject']?><br>
<span class='date'>
<?=$list[$i]['datetime']?> By.<?=$list[$i]['wr_name']?></span>
</div>
<div id="ifocusP_ico">
<a href='<?=$list[$i][href]?>'><?=$thumfile?></a>
</div></div></div></div>
</td>
</tr>
</table>
<?
echo "</DIV>";
}
?>
</table>
<div style="width:300px;padding:5px 0 0 0;">
<? for ($i=0; $i<count($list); $i++) {
////////////////////////////////////////////////////////////////////////////////////////////////////
//////// data/cheditor/ 불러오던 원본값을 썸디렉에서 가져오게 변경
////////////////////////////////////////////////////////////////////////////////////////////////////
$k = $i + 1;
$thumb = $thumb_path.'/'.$list[$i][wr_id];
if (file_exists($thumb))
$thumfile = "'$thumb'";
else
//이미지가 없으면
$thumfile="<img src='$latest_skin_path/img/noimg.gif' width='{$img_width_s}' height='{$img_height_s}' style='border:0 #E7E7E7 solid'></a>";
//이미지가 아니네
if(preg_match("/\.(swf|wma|asf)$/i","$file") && file_exists($file))
{ $thumfile = "<script>doc_write(flash_movie('$file', 'flash$i', '$img_width', '$img_height', 'transparent'));</script>"; }
?>
<a href="<?=$list[$i][href]?>" onMouseOver="javascript:ComeonM('<?=$k?>')">
<img src=<?=$thumfile?> width="<?=$img_width_s?>" height="<?=$img_height_s?>" hspace="0" id="debate_M<?=$k?>" onMouseOver="clearInterval_best()" onMouseOut="setInterval_best()" <? if($k == "1") { echo "style='border:2px solid #FF9900;'";} else { echo "style='DISPLAY: none; border:2px solid #FF9900;' ";}
?>><img src=<?=$thumfile?> width="<?=$img_width_s?>" height="<?=$img_height_s?>" hspace="0" border="0" id="debate_M<?=$k?>#1" <? if($k == "1") { echo "style='DISPLAY: none; border:2px solid #FFFFFF;'"; }else { echo "style='border:2px solid #FFFFFF;'";} ?>></a><? } ?>
</div>
</td>
</tr></table>
정상적이다면 이미지를 넣지 않은경우 noimges라는 이미지가 대처 하게 되는데 지금 정확히 뭐가 문제지 모르겠네요.. 고수님들 제발 도와주세요.~~^^
문제가 되는 최근게시물 스킨입니다... 어디를 수정해야할까요 ??
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$img_width = 260; //큰 썸네일 가로
$img_height = 170; //큰 썸네일 세로
$img_width_s = 48; //작은 썸네일 가로
$img_height_s = 40; //작은 썸네일 세로
$img_quality = 99; //썸네일 퀄리티
if (!function_exists("imagecopyresampled")) alert("GD 2.0.1 이상 버전이 설치되어 있어야 사용할 수 있는 갤러리 게시판 입니다.");
$data_path = $g4[path]."/data/file/$bo_table";
$thumb_path = $data_path.'/thumb_ch01';
$ym = date("ym", $g4[server_time]);
@mkdir($thumb_path, 0707);
@chmod($thumb_path, 0707);
//코멘트와 리플글은 제외
$sql = " select * from $tmp_write_table
where wr_comment = '' and wr_reply = ''
order by wr_id DESC LIMIT 0, 1 ";
$result = sql_query($sql);
$last_con = sql_fetch_array($result);
?>
<SCRIPT type=text/javascript>
<!--
old_debate_M='1';
function ComeonM(objid_M){
document.getElementById("debate_M"+old_debate_M).style.display="none";
document.getElementById("debate_M"+old_debate_M+"#1").style.display="";
document.getElementById("debate_M"+objid_M+"#1").style.display="none";
document.getElementById("debate_M"+objid_M).style.display="";
document.getElementById("debate_content_M"+old_debate_M).style.display="none";
document.getElementById("debate_content_M"+objid_M).style.display="";
old_debate_M=objid_M;
}
var objid_M = 1;
var interval_best;
function best_change_M()
{
if( objid_M == 5 ) // 오버랩 갯수
objid_M = 1;
else
objid_M++;
ComeonM(objid_M);
}
function setInterval_best()
{
interval_best = setInterval("best_change_M()", 5000);//속도조절
}
function clearInterval_best()
{
clearInterval(interval_best);
}
setInterval_best();
//-->
</SCRIPT>
<style type="text/css">
ul, li { list-style:none; margin:0; padding:0;}
#ifocusP { width:260px; height:170px; margin:0px; border:0px }
#ifocusP_img { display:inline; position:relative; float:left; width:260px; height:170px; border:0px; overflow:hidden; }
#ifocusP_imglist { position:absolute; }
#ifocusP_imglist li { width:260px; height:170px; overflow:hidden; }
#ifocusP_imglist img { width:260px; height:170px;}
#ifocusP_ico { display:inline; float:center; width:1px;}
#ifocusP_ico li { width:10px; height:46px; cursor:pointer; opacity:0.5; -moz-opacity:0.5; filter:alpha(opacity=40); }
#ifocusP_ico img { width:260px; height:170px; }
#ifocusP_ico .current { background: url('<?=$latest_skin_path?>/image/ifocus_ico_bg.gif') no-repeat; opacity:1; -moz-opacity:1; filter:alpha(opacity=40); }
#ifocusP_subjbar { position:absolute; left:0; bottom:0; width:260px; height:46px; background:#000; opacity:0.4; -moz-opacity:0.5; filter:alpha(opacity=40); }
#ifocusP_subject { position:absolute; left:8px; bottom:5px; color:#FFFFFF;}
#ifocusP_subject .normal { display:none; }
.date {font-family:Tahoma; font-size:9px; color:#e3c191; padding-bottom:3px;}
</style>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr><td>
<? for ($i=0; $i<count($list); $i++) {
$j = $i + 1;
if ($j == "1") {
echo "<DIV>";
echo "<DIV id=debate_content_M$j onmouseover=clearInterval_best() onmouseout=setInterval_best()>"; }
else { echo "<DIV id=debate_content_M$j onmouseover=clearInterval_best() onmouseout=setInterval_best() style='DISPLAY: none;'>\n"; }
?>
<table width="100%" border="0" cellspacing="0" cellpadding="0" align="center">
<tr><td>
<?
//썸네일 생성
$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("/\.(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]);
imagejpeg($dst, $thumb_path.'/'.$list[$i][wr_id], $img_quality);
chmod($thumb_path.'/'.$list[$i][wr_id], 0606);
} else { //게디터에서 삽입한 이미지 뽑자ㅠㅠ
$edit_img = $list[$i]['wr_content'];
///////////////////////////// 변경된 부분
// if (eregi("data/geditor/{$ym}/[^<>]*\.(gif|jpg|png|bmp)", $edit_img, $tmp)) { // geditor 사용할 경우주석풀어서 사용
// if (eregi("data/cheditor/{$ym}/[^<>]*\.(gif|jpg|png|bmp)", $edit_img, $tmp)) { // chedito 사용할 경우주석풀어서 사용
if (eregi("data/cheditor4/{$ym}/[^<>]*\.(gif|jpg|png|bmp)", $edit_img, $tmp)) { // 에디터가 cheditor4 이면 주석풀어서 사용
$file = './' . $tmp[0]; // 파일경로 필요에 따라 변경하세요 . or ..
$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]);
imagejpeg($dst, $thumb_path.'/'.$list[$i][wr_id], $img_quality);
chmod($thumb_path.'/'.$list[$i][wr_id], 0606);
}
}
}
if (file_exists($thumb))
$thumfile = "<img src='$thumb' width='{$img_width}' height='{$img_height}' border='0' style='border:0px #ccc solid'></a>";
else
//이미지가 없으면
$thumfile="<img src='$latest_skin_path/img/noimg.gif' width='{$img_width}' height='{$img_height}' style='border:0 #E7E7E7 solid'></a>";
//이미지가 아니네
if(preg_match("/\.(swf|wma|asf)$/i","$file") && file_exists($file))
{ $thumfile = "<script>doc_write(flash_movie('$file', 'flash$i', '$img_width', '$img_height', 'transparent'));</script>"; }
?>
<div id="ifocusP">
<div id="ifocusP_img">
<div id="ifocusP_imglist">
<div id="ifocusP_subjbar"></div>
<div id="ifocusP_subject">
<?=$list[$i]['subject']?><br>
<span class='date'>
<?=$list[$i]['datetime']?> By.<?=$list[$i]['wr_name']?></span>
</div>
<div id="ifocusP_ico">
<a href='<?=$list[$i][href]?>'><?=$thumfile?></a>
</div></div></div></div>
</td>
</tr>
</table>
<?
echo "</DIV>";
}
?>
</table>
<div style="width:300px;padding:5px 0 0 0;">
<? for ($i=0; $i<count($list); $i++) {
////////////////////////////////////////////////////////////////////////////////////////////////////
//////// data/cheditor/ 불러오던 원본값을 썸디렉에서 가져오게 변경
////////////////////////////////////////////////////////////////////////////////////////////////////
$k = $i + 1;
$thumb = $thumb_path.'/'.$list[$i][wr_id];
if (file_exists($thumb))
$thumfile = "'$thumb'";
else
//이미지가 없으면
$thumfile="<img src='$latest_skin_path/img/noimg.gif' width='{$img_width_s}' height='{$img_height_s}' style='border:0 #E7E7E7 solid'></a>";
//이미지가 아니네
if(preg_match("/\.(swf|wma|asf)$/i","$file") && file_exists($file))
{ $thumfile = "<script>doc_write(flash_movie('$file', 'flash$i', '$img_width', '$img_height', 'transparent'));</script>"; }
?>
<a href="<?=$list[$i][href]?>" onMouseOver="javascript:ComeonM('<?=$k?>')">
<img src=<?=$thumfile?> width="<?=$img_width_s?>" height="<?=$img_height_s?>" hspace="0" id="debate_M<?=$k?>" onMouseOver="clearInterval_best()" onMouseOut="setInterval_best()" <? if($k == "1") { echo "style='border:2px solid #FF9900;'";} else { echo "style='DISPLAY: none; border:2px solid #FF9900;' ";}
?>><img src=<?=$thumfile?> width="<?=$img_width_s?>" height="<?=$img_height_s?>" hspace="0" border="0" id="debate_M<?=$k?>#1" <? if($k == "1") { echo "style='DISPLAY: none; border:2px solid #FFFFFF;'"; }else { echo "style='border:2px solid #FFFFFF;'";} ?>></a><? } ?>
</div>
</td>
</tr></table>
댓글 전체
한단에 보시면
if (file_exists($thumb))
$thumfile = "'$thumb'";
else
//이미지가 없으면
$thumfile="<img src='$latest_skin_path/img/noimg.gif' width='{$img_width_s}' height='{$img_height_s}' style='border:0 #E7E7E7 solid'></a>";
//이미지가 아니네
if(preg_match("/\.(swf|wma|asf)$/i","$file") && file_exists($file))
{ $thumfile = "<script>doc_write(flash_movie('$file', 'flash$i', '$img_width', '$img_height', 'transparent'));</script>"; }
부분에서
//이미지가 없으면
$thumfile="<img src='$latest_skin_path/img/noimg.gif' width='{$img_width_s}' height='{$img_height_s}' style='border:0 #E7E7E7 solid'></a>";
부분을
//이미지가 없으면
$thumfile="$latest_skin_path/img/noimg.gif";
변경하시면 됩니다
if (file_exists($thumb))
$thumfile = "'$thumb'";
else
//이미지가 없으면
$thumfile="<img src='$latest_skin_path/img/noimg.gif' width='{$img_width_s}' height='{$img_height_s}' style='border:0 #E7E7E7 solid'></a>";
//이미지가 아니네
if(preg_match("/\.(swf|wma|asf)$/i","$file") && file_exists($file))
{ $thumfile = "<script>doc_write(flash_movie('$file', 'flash$i', '$img_width', '$img_height', 'transparent'));</script>"; }
부분에서
//이미지가 없으면
$thumfile="<img src='$latest_skin_path/img/noimg.gif' width='{$img_width_s}' height='{$img_height_s}' style='border:0 #E7E7E7 solid'></a>";
부분을
//이미지가 없으면
$thumfile="$latest_skin_path/img/noimg.gif";
변경하시면 됩니다