리스트 페이지에서 썸네일 이미지를 복수로 출력하고 싶습니다.

리스트 페이지에서 썸네일 이미지를 복수로 출력하고 싶습니다.

QA

리스트 페이지에서 썸네일 이미지를 복수로 출력하고 싶습니다.

본문

리스트 페이지에서 썸네일 이미지가 다음과 같이 출력이 됩니다.
Cap 2014-04-15 13-39-41-800.jpg
 


그런데 각 게시글에 첨부된 이미지가 2개인데, 리스트 페이지에서는 첨부된 이미지가 1개만 출력이 되는데

이걸 리스트 페이지에서 2개로 해서 출력하고 싶습니다.

어떻게 하면 가능한지 다른 분들의 조언 부탁드리겠습니다.


<?

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



// 제목길이 잘 맞추세요.

$thumb_width = '150';  //썸네일 폭

$thumb_height = '100'; //썸네일 높이

$thumb_quality = '100'; //썸네일 퀄리티_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>";

}

*/

?>



<style type="text/css">

<!--

.data  { font-family:돋움; font-size:8pt; color:#999999; }

-->

</style>

<!-- 

    1 ) Reference to the file containing the javascript. 

    This file must be located on your server. 

-->







<!-- 

    2) Initialize the hs object and optionally override the settings defined at the top

    of the highslide.js file. The parameter hs.graphicsDir is important!

-->







<!-- 

    3) These CSS-styles are necessary for the script to work. You may also put

    them in an external CSS-file. See the webpage for documentation.

-->



<style type="text/css">

.highslide {

    cursor: url(<?=$board_skin_path?>/highslide/graphics/zoomin.cur), pointer;

    outline: none;

}

.highslide img {

    border: 0px solid gray;

}

.highslide:hover img {

    border: 2px solid white;

}



.highslide-image {

    border: 2px solid white;

}

.highslide-image-blur {

}

.highslide-caption {

    display: none;

    

    border: 2px solid white;

    border-top: none;

    font-family: Verdana, Helvetica;

    font-size: 10pt;

    padding: 5px;

    background-color: white;

}

.highslide-loading {

    display: block;

    color: white;

    font-size: 9px;

    font-weight: bold;

    text-transform: uppercase;

    text-decoration: none;

    padding: 3px;

    border-top: 1px solid white;

    border-bottom: 1px solid white;

    background-color: black;

    /*

    padding-left: 22px;

    background-image: url(highslide/graphics/loader.gif);

    background-repeat: no-repeat;

    background-position: 3px 1px;

    */

}

a.highslide-credits,

a.highslide-credits i {

    padding: 2px;

    color: silver;

    text-decoration: none;

    font-size: 10px;

}

a.highslide-credits:hover,

a.highslide-credits:hover i {

    color: white;

    background-color: gray;

}



.highslide-move {

    cursor: move;

}

.highslide-display-block {

    display: block;

}

.highslide-display-none {

    display: none;

}

.control {

    float: right;

    display: block;

    position: relative;

    margin: 0 5px;

    font-size: 9pt;

    font-weight: none;

    text-decoration: none;

    text-transform: uppercase;

    margin-top: 1px;

    margin-bottom: 1px;

}

.control:hover {

    border-top: 0px solid #333;

    border-bottom: 1px solid #333;

    margin-top: 0;

    margin-bottom: 0;

}

.control, .control * {

    color: #666;

}

</style>



</head>

<!-- 게시판 목록 시작 -->

<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">

        <span style='font:normal 11px tahoma; color:#BABABA;'>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?>" target="_parent"><img src="<?=$board_skin_path?>/img/btn_admin.gif" border="0" align="absmiddle" title="관리자" /></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 border=0>



<tr>

  <td height=30 colspan='<?=$mod?>' align="right" style="border:1px solid #ddd; height:34px; background:url(<?=$board_skin_path?>/img/title_bg.gif) repeat-x;"><?=subject_sort_link('wr_datetime', $qstr2, 1)?>Date</a> | <?=subject_sort_link('wr_hit', $qstr2, 1)?>Hits</a> | <?=subject_sort_link('wr_good', $qstr2, 1)?>Good </a></td>

</tr>





<tr><td colspan='<?=$mod?>' height=25></td></tr>

<tr> 

<? 

for ($i=0; $i<count($list); $i++) 

{ 

    if ($i && $i%$mod==0) 

    echo "</tr><tr><td colspan='{$mod}' height=20></td></tr><tr>";

    $img = "<img src='$board_skin_path/img/noimage.gif' border=0 title='이미지 없음' >";

    $image = $list[$i][file][0][file];

    //$thumb = $thumb_path.'/'.$list[$i][wr_id]; 

    $thumb = $thumb_path.'/'.$list[$i][file][0][file]; 

    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 = $thumb_width / $size[0]; 

            $height = (int)($size[1] * $rate); 



            if ($height < $thumb_height) 

                $dst = imagecreatetruecolor($thumb_width, $height); 

            else 

                $dst = imagecreatetruecolor($thumb_width, $thumb_height); 

            /*imagecopyresampled($dst, $src, 0, 0, 0, 0, $thumb_width, $height, $size[0], $size[1]); 

            imagejpeg($dst, $thumb_path.'/'.$list[$i][file][0][file], $thumb_quality); 

            chmod($thumb_path.'/'.$list[$i][file][0][file], 0606);*/



            imagecopyresampled($dst, $src, 0, 0, 0, 0, $thumb_width, $height, $size[0], $size[1]);

            imagejpeg($dst, $thumb_path.'/'.$list[$i][file][0][file], $thumb_quality);

            chmod($thumb_path.'/'.$list[$i][file][0][file], 0606);

            imagejpeg($dst, $thumb_path.'/'.$list[$i][wr_id], $thumb_quality);

            chmod($thumb_path.'/'.$list[$i][wr_id], 0606);

        }

    }



   if (file_exists($thumb) && $list[$i][file][0][file]) {

             $img = "<a href='{$list[$i][href]}' onfocus='this.blur()'><img src='{$thumb}' width='{$thumb_width}' height='{$thumb_height}' border=0 style='border:1px solid #f1f1f1;'onmouseover=\"this.style.border='1px solid #f39800';  this.style.cursor='hand'\"  onmouseout=\"this.style.border='1px solid #f1f1f1';\"></a>";

        } else {

            preg_match("`<\s*img\s+src\s*=\s*['|\"]?([^'|\"\s]+://[^'|\"\s]+\.(gif|jpe?g|png))['|\"]?\s*[^>]+`i", $list[$i]['wr_content'], $images);



            if (!empty($images[1])) {

                $img_size = GetImageSize("$images[1]");

                if($img_size[0] >= $img_size[1]) {

                    $imgper = $thumb_width/$img_size[0];

                    $thumb_height = $img_size[1]*$imgper;

                }else{

                    $imgper = $thumb_height/$img_size[1];

                    $thumb_width = $img_size[0]*$imgper;

                }



                $img = "<a href='{$list[$i][href]}' onfocus='this.blur()'><img src='{$images[1]}' width='{$thumb_width}' height='{$thumb_height}' align='absmiddle' border='0'></a>";

            } else {

                echo "";

            }

        }



    $style = "";

    if ($list[$i][icon_new])

        $style = " style='font-weight:bold;' ";

    $subject = "<img src='$board_skin_path/img/th.gif' height='8'><br><a href='{$list[$i][href]}' onfocus='this.blur()'><span $style>".cut_str($list[$i][subject],50)."</span></a>";



    $comment_cnt = "";

    if ($list[$i][comment_cnt]) 

        $comment_cnt = " <a href=\"{$list[$i][comment_href]}\"><span style='font-size:7pt;'>{$list[$i][comment_cnt]}</span></a>";



    $bg = "";  //새글? 

     if ($list[$i][icon_new])

         $bg="thumb_1_2.gif";

      else

         $bg="thumb_1.gif";





    echo "<td width='{$td_width}%' valign=top style='word-break:break-all;'>\n";

    echo "<table width='100%' cellpadding='0' cellspacing='0' border='0'>\n";  

     echo "<tr><td height='100%' align='center' valign='top' style='padding:2 0 2 0;'><table width='10' border='0' cellpadding='0' cellspacing='1' bgcolor='DDDDDD'>

  <tr>

    <td bgcolor='#FFFFFF'><table width='10' border='0' cellpadding='0' cellspacing='4' bgcolor='#F1F1F1'>

      <tr>

        <td bgcolor='#FFFFFF'>$img</td>

      </tr>

    </table></td>

  </tr>

</table>

</td></tr>\n";

    echo "<tr><td align='center'>$subject<span style='font-family:Tahoma;font-size:10px;color:#EE5A00;'>{$list[$i][comment_cnt]}</span></td></tr>\n";

    echo "<tr><td class='small' align='center'><span style='color:#aaaaaa;'>{$list[$i][datetime]}</span>";

    if ($is_checkbox) echo "<input type=checkbox name=chk_wr_id[] value='{$list[$i][wr_id]}'>";

    

    echo "</td></tr>\n";

    echo "</table></td>\n";



}



// 나머지 td

$cnt = $i%$mod;

if ($cnt)

    for ($i=$cnt; $i<$mod; $i++)

        echo "<td width='{$td_width}%'> </td>";

?><div class='highslide-caption' id='the-caption'>

    <a href="#" onclick="return hs.previous(this)" class="control" style="float:left; display: block">prev</a>

    <a href="#" onclick="return hs.next(this)" class="control" style="float:left; display: block; text-align: right; margin-left: 4px">Next</a>

    <a href="#" onclick="return hs.close(this)" class="control">close</a>

    <a href="#" class="highslide-move control">Scroll</a>

    <div style="clear:both"></div>

</div>

</tr>

<tr><td colspan='<?=$mod?>' height=20></td></tr>

<tr><td colspan=<?=$mod?> height=1 bgcolor=#cccccc></td></tr>



<? if (count($list) == 0) { echo "<tr><td colspan='$mod' height=100 align=center>No posts.</td></tr>"; } ?>

<tr><td colspan=<?=$mod?> bgcolor=#EEEEEE height=1>

</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" border="0" align=absmiddle></a>

    <? } ?>

    <? if ($is_checkbox) { ?>

    <a href="javascript:select_delete();"><img src="<?=$board_skin_path?>/img/btn_select_delete.gif" border="0" align=absmiddle></a>

    <a href="javascript:select_copy('copy');"><img src="<?=$board_skin_path?>/img/btn_select_copy.gif" border="0" align=absmiddle></a>

    <a href="javascript:select_copy('move');"><img src="<?=$board_skin_path?>/img/btn_select_move.gif" border="0" 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("First", "<img src='$board_skin_path/img/page_begin.gif' border='0' align='absmiddle' title='처음'>", $write_pages);

    $write_pages = str_replace("prev", "<img src='$board_skin_path/img/page_prev.gif' border='0' align='absmiddle' title='이전'>", $write_pages);

    $write_pages = str_replace("next", "<img src='$board_skin_path/img/page_next.gif' border='0' align='absmiddle' title='다음'>", $write_pages);

    $write_pages = str_replace("Terminals", "<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'>Contents</option>

    <option value='wr_subject||wr_content'>Subject + Content</option>

    <option value='mb_id,1'>Member ID</option>    

    <option value='wr_name,1'>Author</option>

   

</select>

<input name=stx maxlength=15 itemname="Searches" required value='<?=$stx?>' style="width:204px; background-color:#f6f6f6; border:1px solid #cccccc; 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 ('<?=$sca?>') document.fcategory.sca.value = '<?=$sca?>';

if ('<?=$stx?>') {

    document.fsearch.sfl.value = '<?=$sfl?>';



    if ('<?=$sop?>' == 'and') 

        document.fsearch.sop[0].checked = true;



    if ('<?=$sop?>' == 'or')

        document.fsearch.sop[1].checked = true;

} else {

    document.fsearch.sop[0].checked = true;

}

</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 + "Please select one or more posts");

        return false;

    }

    return true;

}



// 선택한 게시물 삭제

function select_delete() {

    var f = document.fboardlist;



    str = "Deletion";

    if (!check_confirm(str))

        return;



    if (!confirm("I selected post "+str+" Are you sure you want to?\n\nOnce "+str+"The data can not be recovered"))

        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>

<? } ?>

<!-- 게시판 목록 끝 -->



이 질문에 댓글 쓰기 :

답변 1

현재 소스는 썸네일이 1번 파일만 생성됩니다.
따라서 2번 파일은 출력 할수 없습니다.

2번 파일을 출력하려면
다중 썸네일 생성 스킨 찾아 보세요.


썸네일이 아닌 원본 출력은 쉽습니다.
$img = "$g4[path]/data/file/$bo_table/".urlencode($list[$i][file][0][file]);//1번 이미지
$img = "$g4[path]/data/file/$bo_table/".urlencode($list[$i][file][1][file]);//1번 이미지
답변을 작성하시기 전에 로그인 해주세요.
전체 55
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT