만도님의 newsite_1 에서 > 그누3질답

그누3질답

만도님의 newsite_1 에서 정보

그누보드 만도님의 newsite_1 에서

본문

만도님의 소스들을 시험하면서 느낀 것이 소스는 복잡하고 설치하기 어렵지만 일단 설치하고 나면 상당히 편해지는군요.

다름이아니라 아래는 만도님이 만드신 newsite_1.php 입니다.
이것을 응용해서 새소식에도 적용하고자 합니다.
그런데 이미지가 없을 때에는 에러가 납니다.

여기서 이미지가 없을 경우 노이미지를 그대로 보이는것이 아니라, 노이미지를 리사이징하게 할 수는 없는가요?
구지 노이미지가 아니라 다른 특정이미지라도 상관없습니다.
그렇게 되면 에러없이 사용할 수있을 것 같아서요.

아래의 만도님의 소스의 리사이징부분을 보시고 답변해주시면 고맙겠습니다.
아래 8번째줄의  (********* 요부분이 에러가난다고 지적된 위치입니다.*********** )를 잘 봐주세요.

--------------------------------------
if (count($list) > 0) {
    $p=-1;
    krsort($list);
    foreach ($list as $key=>$value) {
    $destfile = $value->file_image1.'mandoThumbN';
$size = getimagesize($value->file_image1);
if(is_array($size) && !is_file($destfile)) {
switch($size[2]) {      ********* 요부분이 에러가난다고 지적된 위치입니다.***********
case(1) :
if(function_exists('ImageCreateFromGif')) $im = ImageCreateFromGif($value->file_image1);
break;
case(2) :
if(function_exists('ImageCreateFromJpeg')) $im = ImageCreateFromJpeg($value->file_image1);
break;
case(3) :
if(function_exists('ImageCreateFromPng')) $im = ImageCreateFromPng($value->file_image1);
break;
}
$fixsize = mandoN_image_size($size[0], $size[1], $thumbx, $thumby);
if($im) {
if($i==0) @exec("rm ".dirname($_SERVER[SCRIPT_FILENAME])."/data/file/$bo_table/*mandoThumbN -rf");
if(function_exists('ImageCreateTrueColor')) $newim = ImageCreateTrueColor($fixsize[x],$fixsize[y]);
else $newim = ImageCreate($fixsize[x],$fixsize[y]);
if(function_exists('ImageCopyResampled')) ImageCopyResampled($newim,$im,0,0,0,0,$fixsize[x],$fixsize[y],$size[0],$size[1]);
else ImageCopyResized($newim,$im,0,0,0,0,$fixsize[x],$fixsize[y],$size[0],$size[1]);
ImageDestroy($im);
ImageJpeg($newim, $destfile, 90);
ImageDestroy($newim);
unset($im, $newim);
}
$list[$i][img][x] = $fixsize[x];
$list[$i][img][y] = $fixsize[y];
} else {
if(is_file($destfile)) {
$size = getimagesize($destfile);
$list[$i][img][x] = $size[0];
$list[$i][img][y] = $size[1];
} else {
$value->file_image1 = "$latest_skin/noimg.gif";
$size = getimagesize($value->file_image1);
$list[$i][img][x] = $size[0];
$list[$i][img][y] = $size[1];
}
}
if(is_file($destfile)) $value->file_image1 = $destfile;
if(time()-(60*60*24) <= strtotime($list[$i][wr_datetime])) $list[$i][date] = date('H:i',strtotime($list[$i][wr_datetime]));
else $list[$i][date] = date('Y.m.d',strtotime($list[$i][wr_datetime]));
  • 복사

댓글 전체

아래는 소스원본 전체입니다.

------------------------------------------------
<?
//if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

define("_DOCTYPE_", "DESIGN");

if ($hours < 1 || $hours > 1000) {
    $hours = 2888; //288시간내에.. 올라온 새글...
}
$li = 2; //몇개뽑을건가..
$thumbx = 40;
$thumby = 30;

// 이미지파일의 x, y 사이즈 계산하여 리턴
function mandoN_image_size($x, $y, $thumbx, $thumby) {
if($x > $thumbx) {
$overx = ($x - $thumbx) / $x;
$x = $thumbx;
$y = intval($y - ($y * $overx));
}
if($y > $thumby) {
$overy = ($y - $thumby) / $y;
$y = $thumby;
$x = intval($x - ($x * $overy));
}

return array('x'=>$x, 'y'=>$y);
}


?>

<table width=100% cellpadding=3 cellspacing=0>
<tr>
    <td width='100%' valign=top align=center>

<?
$intime = date("Y-m-d H:i:s", time() - (int)(60 * 60 * $hours));
$gr_id =  "News";
$sql = " select bo_table, bo_subject from $cfg[table_board] where gr_id='$gr_id' order by  bo_order_search ";
$result = sql_query($sql);

while ($row = mysql_fetch_array($result)) {
/*
//제외게시판 ||(or) 로 구분합다
if($row[bo_table]==knowledge||$row[bo_table]==report||$row[bo_table]==movie||$row[bo_table]==eng||$row[bo_table]==notice||
$row[bo_table]==sales||$row[bo_table]==qna||$row[bo_table]==icon_appl||$row[bo_table]==winee_column||$row[bo_table]==ojay_column||
$row[bo_table]==humor||$row[bo_table]==juan||$row[bo_table]==victor||$row[bo_table]==jack||$row[bo_table]==tiptech||$row[bo_table]==news||
$row[bo_table]==free_board||$row[bo_table]==search_link||$row[bo_table]==coolsite||$row[bo_table]==knowhow||$row[bo_table]==empty_room||$row[bo_table]==add||$row[bo_table]==music
||$row[bo_table]==gallery||$row[bo_table]==appl
){}
else
*/
{
 
   
    $tbl = "{$cfg[write_table_prefix]}{$row[bo_table]}";
    $sql2 = " select wr_id,
                    wr_parent_id,
                    mb_id,
                    wr_name,
                    wr_email,
                    wr_homepage,
                    wr_num,
                    wr_subject,
                    wr_content,
                    wr_comment,
                    wr_commentcnt,
                    wr_datetime,
                    wr_file1,
                    wr_file2,
                    wr_link1,
                    wr_link2,
                    wr_hit
                from $tbl
              where wr_datetime >= '$intime'
                and wr_comment = '0'
              order by wr_id desc";
    $result2 = sql_query($sql2);
   
    for ($i = 0; $row2 = mysql_fetch_array($result2); $i++) {
   
 
        /*
        if ($row2[wr_comment] > 0) {
            $sql3 = " select wr_subject
                        from $tbl
                      where wr_comment = 0
                        and wr_parent_id = '$row2[wr_parent_id]' ";
            $row3 = sql_fetch($sql3);
            $wr_subject = $row3[wr_subject];
        } else {
            $wr_subject = $row2[wr_subject];
        }
        $wr_subject = get_text($wr_subject);
        */
  $wr_subject = get_text($row2[wr_subject]);

        $key = $row2[wr_datetime] . $row[bo_table] . $row2[wr_id];
        //$row[bo_table]=$bo_table;
      //$qstr="bo_table=$row[bo_table]";
        $list[$key]->bo_subject = $row[bo_subject];
        $list[$key]->bo_table = $row[bo_table];
        $list[$key]->mb_id = $row2[mb_id];
        $list[$key]->mb_open = $row2[mb_open];
        $list[$key]->wr_id = $row2[wr_id];
        $list[$key]->wr_parent_id = $row2[wr_parent_id];
        $list[$key]->wr_email = $row2[wr_email];
        $list[$key]->wr_homepage = $row2[wr_homepage];
        $list[$key]->wr_name = get_text(cut_str($row2[wr_name],20));
        $list[$key]->wr_subject = get_text(cut_str($wr_subject,17,'..'));
        $list[$key]->wr_comment = $row2[wr_comment];
        $list[$key]->wr_content = cut_str(strip_tags($row2[wr_content]),75);
        $list[$key]->wr_commentcnt = $row2[wr_commentcnt];
        $list[$key]->wr_datetime = $row2[wr_datetime];
        $list[$key]->wr_hit = $row2[wr_hit];
        //파일, 링크
        $list[$key]->file_image1 = "./data/file/$row[bo_table]/".$row2[wr_file1];
        $list[$key]->file_image2 = "./data/file/$bo_table/" . $row2[wr_file2];
        $list[$key]->link1 = set_http(get_text(cut_str($row2[wr_link1], 16, '..')));
        $link[$key]->link_href1 = "./?doc=bbs/gblink.php&bo_table=$row[bo_table]&wr_id=$row2[wr_id]&index=1";
        $link[$key]->link_href11 = "./?doc=bbs/gnuboard.php&bo_table=$row[bo_table]";
        $list[$key]->link2 = set_http(get_text(cut_str($row2[wr_link2], 16)));
        $link[$key]->link_href2 = "./?doc=bbs/gblink.php&bo_table=$row[bo_table]&wr_id=$row2[wr_id]&index=2";
       
     
       
       
    }
    mysql_free_result($result2);
 
}//else
}
mysql_free_result($result);
?>
<!--<DIV style='width:100%;valign:top; height:30px;overflow:hidden;border:0;padding:0;top:-14px;'>-->
                <!--<marquee id="iescroller" direction="up" width="428" height="860" scrollamount="1" scrolldelay="100"  onmouseover="this.stop()" onmouseout="this.start()" >  -->
                <table width="100%" align="center" valign=top cellpadding="3" cellspacing="0">
                <tr>
                <td width="100%" height="30" valign=top>
                    <!--<div id="divSC0" style="valign:top; width:428px; height:600px; position:absolute; left:-2px; top:0px; z-index:20; visibility:visible;  ">
                        <div align="left">-->
 <table width='100%' cellpadding=0 cellspacing=0 align=center valign=top style='padding:0 0 0 0'>
  <tr>
            <td width=100% height=23 valign=top bgcolor=#f3f3f3 style='padding:5px;border-top:1px solid #c1c1c1;border-bottom:1px solid #c1c1c1'> <img src=./image/newsiteb.gif border=0 align=absmiddle>
            <b>새로운소식</b>
            </td>        
</tr>
</table>                     
<table width=100% border=0 cellspacing=0 cellpadding=0>
<?
if (count($list) > 0) {
    $p=-1;
    krsort($list);
    foreach ($list as $key=>$value) {
    $destfile = $value->file_image1.'mandoThumbN';
$size = getimagesize($value->file_image1);
if(is_array($size) && !is_file($destfile)) {
switch($size[2]) {
case(1) :
if(function_exists('ImageCreateFromGif')) $im = ImageCreateFromGif($value->file_image1);
break;
case(2) :
if(function_exists('ImageCreateFromJpeg')) $im = ImageCreateFromJpeg($value->file_image1);
break;
case(3) :
if(function_exists('ImageCreateFromPng')) $im = ImageCreateFromPng($value->file_image1);
break;
}
$fixsize = mandoN_image_size($size[0], $size[1], $thumbx, $thumby);
if($im) {
if($i==0) @exec("rm ".dirname($_SERVER[SCRIPT_FILENAME])."/data/file/$bo_table/*mandoThumbN -rf");
if(function_exists('ImageCreateTrueColor')) $newim = ImageCreateTrueColor($fixsize[x],$fixsize[y]);
else $newim = ImageCreate($fixsize[x],$fixsize[y]);
if(function_exists('ImageCopyResampled')) ImageCopyResampled($newim,$im,0,0,0,0,$fixsize[x],$fixsize[y],$size[0],$size[1]);
else ImageCopyResized($newim,$im,0,0,0,0,$fixsize[x],$fixsize[y],$size[0],$size[1]);
ImageDestroy($im);
ImageJpeg($newim, $destfile, 90);
ImageDestroy($newim);
unset($im, $newim);
}
$list[$i][img][x] = $fixsize[x];
$list[$i][img][y] = $fixsize[y];
} else {
if(is_file($destfile)) {
$size = getimagesize($destfile);
$list[$i][img][x] = $size[0];
$list[$i][img][y] = $size[1];
} else {
$value->file_image1 = "$latest_skin/noimg.gif";
$size = getimagesize($value->file_image1);
$list[$i][img][x] = $size[0];
$list[$i][img][y] = $size[1];
}
}
if(is_file($destfile)) $value->file_image1 = $destfile;
if(time()-(60*60*24) <= strtotime($list[$i][wr_datetime])) $list[$i][date] = date('H:i',strtotime($list[$i][wr_datetime]));
else $list[$i][date] = date('Y.m.d',strtotime($list[$i][wr_datetime]));

      $p++;
      if ($p >= $li) break;
        $comment = "";
        $atag_comment = "";
        if ($value->wr_comment > 0) {
            $comment = "<span style='font-size:8pt;'>[c]</span> ";
            $atag_comment = "#c{$value->wr_id}";
        }

        $commentcnt = "";
        if ($value->wr_commentcnt > 0) {
            $commentcnt = "<font size=-2>({$value->wr_commentcnt})</font>";
        }

        $name = gblayer($value->mb_id, cut_str($value->wr_name,12), $value->wr_email, $value->wr_homepage);

        $value->bo_subject = cut_str($value->bo_subject, 20);

        //$list = $i++%2;
     
        echo "<tr  align=center>";
        echo "<td width=50 align=left style='padding-top:5; padding-right:3; padding-bottom:3;'><img src='{$value->file_image1}'  width='{$list[$i][img][x]}' height='{$list[$i][img][y]}' border=0></td>";

        echo "<td width=120 align=left style='padding-top:5;'><a href='./?doc={$cfg[bbs_dir]}/gnuboard.php&bo_table={$value->bo_table}&wr_id={$value->wr_parent_id}{$atag_comment}' style='font-weight:plane;font-size:12px;color:#335495'>{$value->wr_subject}</a><br>
<a href='{$link[$key]->link_href1}' target='_blank' style='font-weight:plane;font-size:11px;color:#FF7800'>{$value->link1 }</a>
 <td>";
        echo "</tr>";
        echo "<tr><td colspan=2 style='padding-bottom:2;'><a href='./?doc={$cfg[bbs_dir]}/gnuboard.php&bo_table={$value->bo_table}&wr_id={$value->wr_parent_id}{$atag_comment}'>{$value->wr_content}</a></td></tr>";   
        echo "</tr>";
        echo "<tr><td colspan='2' height='1' bgcolor='#BBBBBB'></td></tr>";
     
       
    }
} else
    echo "<td height=100 align=center colspan=4>등록된 글이 없습니다.</td>";
?>
</table>
<!--</div>
                          </div>  -->                     
                    </td></tr></table>
                  <!--</marqee>
                    </div>-->
</td>

</tr>
</table>
© SIRSOFT
현재 페이지 제일 처음으로