갤러리 이미지가 안보여요~에휴... > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

갤러리 이미지가 안보여요~에휴... 정보

갤러리 이미지가 안보여요~에휴...

첨부파일

black_photo.zip (119.8K) 1회 다운로드 2010-01-16 02:58:32

본문

그누 홈페이지를 더듬어가면서 만들어보구 있는데요.

갤러리에서 썸네일 이미지가 보이지 않지요?
http://fadao.cafe24.com/bbs/board.php?bo_table=english&page=
이미지는 확실하게 업로드가 된것 같은데요.리스트 목록에서 읽어올수 없는것 같습니다.

borablack 님의 심플블랙 갤러리 스킨을 적용해본것인데요.
http://sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=52200&sca=%B0%B6%B7%AF%B8%AE&page=5
다른 분들은 모두 이상 없이 사용하시는것 같은데요.
저만 이렇게 되는것이죠?

참고용으로 스킨 소스를 함께 첨부 해보겠습니다.
저와 같은 경우에는 list.skin.php 화일을 어떻게 수정해주어야 할가요?

  • 복사

댓글 전체

이미지는 제대로 업로드 되었지만 썸네일을 만들지 못한 것 같군요
data/file/english/thumb/1 <==이게 썸네일폴더와 썸네일명인데 thumb 폴더가 제대로 생성되어있는지
살펴보세요
FTP로 접속을 하여서 직접 확인을 해보니요.
www/data/file/english/thumb/1 화일이 생성되여 있구요.
thumb 폴더가 제대로 생성된것 같은데요..
하지만 갤러리 게시판에서는 해당 화일을 불러올수 없는것 같네요..
english 게시판 관리에서 맨하단 부분에 여분필드 설정을 아래와 같이 하였습니다.
(좌측공백)    (우측공백)
여분 필드 1 : 150
여분 필드 2 : 150
여분 필드 3 : 95
썸네일 사이즈 또는 퀄리티 등 속성은 이렇게 지정하는것이 맞는것이죠?
http://img.blog.yahoo.co.kr/ybi/1/a8/09/shunfengtrade/folder/12/img_12_363_0?1263584003.gif
갤러리 리스트에서 이미지가 출력이 되지 않는 이유가 참 궁금하네요..
png모듈이 지원 안되서 발생할 때도 있습니다.

96번째 줄에 imagepng 를 imagegif 로 한번 바꿔보세요.

/////////// 변경 전 ////////////////

            if ($height < $board[bo_2])
                $dst = imagecreatetruecolor($board[bo_1], $height);
            else
                $dst = imagecreatetruecolor($board[bo_1], $board[bo_2]);
            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_3]);
            chmod($thumb_path.'/'.$list[$i][wr_id], 0606);
        }
    }



/////////// 변경 후 ////////////////

            if ($height < $board[bo_2])
                $dst = imagecreatetruecolor($board[bo_1], $height);
            else
                $dst = imagecreatetruecolor($board[bo_1], $board[bo_2]);
            imagecopyresampled($dst, $src, 0, 0, 0, 0, $board[bo_1], $height, $size[0], $size[1]);
            imagegif($dst, $thumb_path.'/'.$list[$i][wr_id], $board[bo_3]);
            chmod($thumb_path.'/'.$list[$i][wr_id], 0606);
        }
    }
네..바쁜 시간에 조언을 해주셔서 감사합니다.
알려주신대로 imagepng 를 imagegif 로 변경 하였는데요..
http://fadao.cafe24.com/bbs/board.php?bo_table=english 페이지에서 보시는것 처럼
갤러리 목록의 이미지가 여전히 깨져 나오네요..휴..
제가 설치한것은 그누보드가 아닌 탑빌더인데요...
말씀하신것처럼 "png모듈이 지원 안될땐 어떻게 해야죠?"
이걸 어떡하면 좋을가요?~~
아직 해결이 안되셨군요~
변경하셨는데, 안되시나요?

혹시 몰라 제가 변경한 내용을 그대로 붙여드리니 한번 아래 내용을 모두 복사해서
list.skin.php 파일 안에 있는 내용을 모두 지우고 전체 붙여넣기 해 보세요.

테스트는 쪽지 내용 참고하세요~

*** 꼭 기존 썸네일 파일은 삭제하세요!  "data/file/english/thumb/" 있는 1, 2, 3 같은 썸네일 파일


////////////////  아래 소스  /////////////////

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

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);

// 선택옵션으로 인해 셀합치기가 가변적으로 변함
$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>

/*
$tmp_bo_table = "cm_gallery_request";
$tmp_write_table = $g4[write_prefix] . $tmp_bo_table;
$sql = " select wr_id, wr_subject from $tmp_write_table where wr_is_comment = 0 and wr_comment = 0 order by wr_id desc ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
    echo "<div align=center><a href='$g4[bbs_path]/board.php?bo_table=$tmp_bo_table&wr_id=$row[wr_id]'><span style='height:18px; color:crimson; cursor:pointer;'>★ 이미지 요청 : $row[wr_subject] ★</span></a></div><br>";
}
*/
?>

<!-- 게시판 목록 시작 -->
<table width="<?=$width?>" align=center cellpadding=0 cellspacing=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">
        게시물 <?=number_format($total_count)?>건
        <? 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="관리자" border="0" align="absmiddle"></a><?}?></td>
</tr>
<tr><td height=5></td></tr>
</table>

<form name="fboardlist" method="post" style="margin:0px;">
<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% cellpadding=0 cellspacing=0>
<tr><td colspan='<?=$mod?>' height=2 bgcolor=#242424></td></tr>
<tr>
<?
for ($i=0; $i<count($list); $i++)
{
    if ($i && $i%$mod==0)
        echo "</tr><tr>";

    $img = "<img src='$board_skin_path/img/noimage.gif' border=0 width='$board[bo_1]' title='이미지 없음'>";
    $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
                continue;

            $rate = $board[bo_1] / $size[0];
            $height = (int)($size[1] * $rate);

            if ($height < $board[bo_2])
                $dst = imagecreatetruecolor($board[bo_1], $height);
            else
                $dst = imagecreatetruecolor($board[bo_1], $board[bo_2]);
            imagecopyresampled($dst, $src, 0, 0, 0, 0, $board[bo_1], $height, $size[0], $size[1]);
            imagegif($dst, $thumb_path.'/'.$list[$i][wr_id], $board[bo_3]);
            chmod($thumb_path.'/'.$list[$i][wr_id], 0606);
        }
    }

    if (file_exists($thumb))
        $img = "<img src='$thumb' border=0>";

    $style = "";
    if ($list[$i][icon_new])
        $style = " style='font-weight:bold;' ";
    $subject = "".cut_str($list[$i][subject],20)."";

    $comment_cnt = "";
    if ($list[$i][comment_cnt])
        $comment_cnt = " <a href=\"{$list[$i][comment_href]}\"><font class=ta8>{$list[$i][comment_cnt]}</font></a>";



    echo "<td width='{$td_width}%' valign=top align=center style='word-break:break-all;'>";
    echo "<table width=120 cellpadding=0 cellspacing=0>";
    echo "<tr><td height=20></td></tr>";
    echo "<tr><td height=120 align=center valign=middle style='border-width:1 1 1 1;border-color:242424;border-style:solid;'><a href='{$list[$i][href]}'>$img</a></td></tr>";
    echo "<tr><td style='padding:8 0 0 0;'><a href='{$list[$i][href]}'>$subject";

echo " " . $list[$i][icon_new];
        //echo " " . $list[$i][icon_file];
        //echo " " . $list[$i][icon_link];
        echo " " . $list[$i][icon_hot];
        echo " " . $list[$i][icon_secret];

echo "</a>{$comment_cnt}</td></tr>";
    echo "<tr><td style='padding:3 0 0 0;'><nobr style='overflow:hidden;'><?=$list[$i][name]?></nobr></td></tr>";
    if ($is_category) echo "<tr><td><a href='{$list[$i][ca_name_href]}'><font color=#cccccc>[{$list[$i][ca_name]}]</font></a></td></tr>";
    if ($is_checkbox) echo "<tr><td><input type=checkbox name=chk_wr_id[] value='{$list[$i][wr_id]}'></td></tr>";
    echo "<tr><td height=20></td></tr>";
    echo "</table></td>\n";
}


// 나머지 td
$cnt = $i%$mod;
if ($cnt)
    for ($i=$cnt; $i<$mod; $i++)
        echo "<td width='{$td_width}%'>&nbsp;</td>";
?>
</tr>
<tr><td colspan=<?=$mod?> height=1 bgcolor=#242424></td></tr>

<? if (count($list) == 0) { echo "<tr><td colspan='$mod' height=100 align=center>게시물이 없습니다.</td></tr>"; } ?>
<tr><td colspan=<?=$mod?> bgcolor=#242424 height=1>
</table>
</form>

<!-- 버튼 -->
<table width="100%" cellspacing="0" cellpadding="0">
<tr>
    <td style='padding:7 0 0 5;'><? if ($list_href) { ?><a href="<?=$list_href?>"><img src="<?=$board_skin_path?>/img/btn_list.gif" border="0"></a><? } ?>       
        <? if ($is_checkbox) { ?>
            <a href="javascript:select_delete();"><img src="<?=$board_skin_path?>/img/btn_select_delete.gif" border="0"></a>
            <a href="javascript:select_copy('copy');"><img src="<?=$board_skin_path?>/img/btn_select_copy.gif" border="0"></a>
            <a href="javascript:select_copy('move');"><img src="<?=$board_skin_path?>/img/btn_select_move.gif" border="0"></a>
        <? } ?>
</td>
<td align=right style='padding:7 5 0 0;'><? if ($write_href) { ?><a href="<?=$write_href?>"><img src="<?=$board_skin_path?>/img/btn_write.gif" border="0"></a><? } ?></td>
</tr>
</table>


<!-- 페이지 -->
<table width="100%" cellspacing="0" cellpadding="0">
<tr>
    <td width="100%" align="center" style='padding:10 0 0 0;'>
        <? if ($prev_part_href) { echo "<a href='$prev_part_href'><img src='$board_skin_path/img/btn_search_prev.gif' border=0 align=absmiddle title='이전검색'></a>"; } ?>
        <?
        // 기본으로 넘어오는 페이지를 아래와 같이 변환하여 이미지로도 출력할 수 있습니다.
        //echo $write_pages;
        //$write_pages = str_replace("처음", "<img src='$board_skin_path/img/begin.gif' border='0' align='absmiddle' title='처음'>", $write_pages);
        //$write_pages = str_replace("이전", "<img src='$board_skin_path/img/prev.gif' border='0' align='absmiddle' title='이전'>", $write_pages);
        //$write_pages = str_replace("다음", "<img src='$board_skin_path/img/next.gif' border='0' align='absmiddle' title='다음'>", $write_pages);
        //$write_pages = str_replace("맨끝", "<img src='$board_skin_path/img/end.gif' border='0' align='absmiddle' title='맨끝'>", $write_pages);
        //$write_pages = preg_replace("/<span>([0-9]*)<\/span>/", "<b><font style=\"font-family:돋움; font-size:9pt; color:#797979\">$1</font></b>", $write_pages);
        //$write_pages = preg_replace("/<b>([0-9]*)<\/b>/", "<b><font style=\"font-family:돋움; font-size:9pt; color:orange;\">$1</font></b>", $write_pages);
        ?>
        <?=$write_pages?>
        <? if ($next_part_href) { echo "<a href='$next_part_href'><img src='$board_skin_path/img/btn_search_next.gif' border=0 align=absmiddle title='다음검색'></a>"; } ?>
    </td>
</tr>
</table>

<!-- 링크 버튼, 검색 -->
<form name=fsearch method=get style="margin:0px;">
<input type=hidden name=bo_table value="<?=$bo_table?>">
<input type=hidden name=sca      value="<?=$sca?>">
<table width=100% cellpadding=0 cellspacing=0>
<tr><Td height=15></td></tr>
<tr height=40 bgcolor=111111>
    <td width="50%" align="right" style='padding:0 10 0 0;'>
        <select name=sfl style="background-color:333333; font-family:돋움;color:#C2C2C2;font-size:8.5pt;">
            <option value='wr_subject'>제목</option>
            <option value='wr_content'>내용</option>
            <option value='wr_subject||wr_content'>제목+내용</option>
            <option value='mb_id,1'>회원아이디</option>
            <option value='mb_id,0'>회원아이디(코)</option>
            <option value='wr_name,1'>이름</option>
            <option value='wr_name,0'>이름(코)</option>
        </select><select name=sop style="background-color:333333; font-family:돋움;color:#C2C2C2;font-size:8.5pt;">
            <option value=and>and</option>
            <option value=or>or</option>
        </select> <input name=stx maxlength=15 size=10 itemname="검색어" required value='<?=$stx?>' class=ed1><input type=image src="<?=$board_skin_path?>/img/search_btn.gif" border=0 align=absmiddle></td>
</tr>
</table>
</form>

</td></tr></table>

<script language="JavaScript">
if ("<?=$sca?>") document.fcategory.sca.value = "<?=$sca?>";
if ("<?=$stx?>") {
    document.fsearch.sfl.value = "<?=$sfl?>";
    document.fsearch.sop.value = "<?=$sop?>";
}
</script>

<? if ($is_checkbox) { ?>
<script language="JavaScript">
function all_checked(sw)
{
    var f = document.fboardlist;

    for (var i=0; i<f.length; i++) {
        if (f.elements[i].name == "chk_wr_id[]")
            f.elements[i].checked = sw;
    }
}

function check_confirm(str)
{
    var f = document.fboardlist;
    var chk_count = 0;

    for (var i=0; i<f.length; i++) {
        if (f.elements[i].name == "chk_wr_id[]" && f.elements[i].checked)
            chk_count++;
    }

    if (!chk_count) {
        alert(str + "할 게시물을 하나 이상 선택하세요.");
        return false;
    }
    return true;
}

// 선택한 게시물 삭제
function select_delete()
{
    var f = document.fboardlist;

    str = "삭제";
    if (!check_confirm(str))
        return;

    if (!confirm("선택한 게시물을 정말 "+str+" 하시겠습니까?\n\n한번 "+str+"한 자료는 복구할 수 없습니다"))
        return;

    f.action = "./delete_all.php";
    f.submit();
}

// 선택한 게시물 복사 및 이동
function select_copy(sw)
{
    var f = document.fboardlist;

    if (sw == "copy")
        str = "복사";
    else
        str = "이동";
                     
    if (!check_confirm(str))
        return;

    var sub_win = window.open("", "move", "left=50, top=50, width=396, height=550, scrollbars=1");

    f.sw.value = sw;
    f.target = "move";
    f.action = "./move.php";
    f.submit();
}
</script>
<? } ?>
<!-- 게시판 목록 끝 -->
답변 해주신 글을 이제 확인하였어요..
초보를 많이 도와주셔서 정말 고마워요..
알려주신 소스를 list.skin.php 에 전부 붙여넣기를 하여서
다시 태스트를 해보았는데요..
여전히 에러가 나네요..
http://fadao.cafe24.com/data/file/english/thumb/2 이런 파일이 전부 x 자로 표시되네요..
에러가 나는 페이지 주소는
http://fadao.cafe24.com/bbs/board.php?bo_table=english&page=0 입니다...
휴..
마음에 드는 스킨인데요..
자꾸 에러만 나서 난감하네요..휴...
© SIRSOFT
현재 페이지 제일 처음으로