관리자 배너관리에서 배너 추가시 이미지를 2개 등록하려면...

관리자 배너관리에서 배너 추가시 이미지를 2개 등록하려면...

QA

관리자 배너관리에서 배너 추가시 이미지를 2개 등록하려면...

본문

반응형으로 제작중이구요... 메인 비주얼 부분을 배너관리로 사용해볼까해서 만들어놨는데...

 

생각해보니 반응형이라 리사이징하다가 특정 분기점(디바이스 크기)에 도달했을땐

 

모바일용 비주얼로 바꿔치기를 해줘야할 거 같아서  이리 저리 검색해보니... 아예 배너 위치(bn_position) 을 추가로 등록해서 사용하는거 같더라구요...;;

https://sir.kr/yc5_tip/106 참고했던 글입니다...

 

위에 팁게시글대로 bn_position 을 (왼쪽, 메인) 에서 (비주얼PC, 비주얼M, 이벤트PC, 이벤트M) 이렇게 4개로 추가해주고... 왼쪽, 메인 관련된 코드들을 수정한 4개로 바꿔주고... 이런 작업들을 해놓고 보니

 

저런식으로 했을 경우 제 생각에는 결국 bn_position 값을 판별해서(pc냐 m이냐)를 클래스나 아이디를 부여해주고 display none block 처리하는 방법밖에 안되겠더라구요...

 

그래서 혹시나 해서 아예 배너를 추가할때... 이미지를 2개 첨부하고 첫 이미지는 pc용 두번째 이미지는 m용 으로 한 div 안에 등록된 이미지 2개를 다 띄워주고... 2번째 이미지에만 클래스를 부여해줘서

 

display none block 처리하는게 더 깔끔하지 않을까 싶습니다...;;;

 

관리자 > 배너관리 > 배너추가페이지(/adm/shop_admin/bannerform.php)에서

 

이미지 등록하는 tr 을 그대로 복사해서 name 값을 바꿔서 써볼까 하는데... 그러면 문제가 될까요...??ㅠㅠㅠ

 

반응형으로 배너관리할때는 어떻게 하는게 나은가요..??ㅠㅠㅠ

이 질문에 댓글 쓰기 :

답변 3

이미지 등록하는 tr 을 그대로 복사해서 name 값을 바꿔서 써볼까 하는데... 그러면 문제가 될까요...??

그대로 복사한다고 등록되거나 하지않습니다.

저장되는 DB의 table에도 해당 컬럼이 들어가야 하며..

저장하는 쪽 프로그래에도 로직이 들어가야 합니다.

개발 지식이 없으시면 커스터마이징 힘들겠습니다.

 

넵 제가 아는건 딱 그 정도인데...

복붙하고 name 값 바꿔주고 db들어가서 배너테이블에서 이미지경로가 어떻게 저장되는지 보고... 필요하면 컬럼을 추가해주고 추가시에 update 할때 추가한 컬럼 넣어주고...

이 정도인데요... db에서 배너테이블에는 이미지 경로가 저장이 안되네요...

서버에 올려진 이미지도 보면 확장자가 이미지확장자도 아니구요...;;ㅠㅠㅠ

bannerform.php 에 이미지 tr을 그대로 복붙하고 bn_bimg2로 바꿨습니다..;;


<tr>
    <th scope="row">이미지</th>
    <td>
        <?php echo help("메인 비주얼 : m - ??*??\n메인 이벤트 배너 : m - ??*??"); // 200402 추가 ?>
        <input type="file" name="bn_bimg2">
        <?php
        $bimg_str = "";
        $bimg2 = G5_DATA_PATH."/banner/m{$bn['bn_id']}";
        if (file_exists($bimg2) && $bn['bn_id']) {
            $size = @getimagesize($bimg2);
            if($size[0] && $size[0] > 750)
                $width = 750;
            else
                $width = $size[0];

            echo '<input type="checkbox" name="bn_bimg2_del" value="1" id="bn_bimg2_del"> <label for="bn_bimg2_del">삭제</label>';
            $bimg2_str = '<img src="'.G5_DATA_URL.'/banner/m'.$bn['bn_id'].'" width="'.$width.'">';
        }
        if ($bimg2_str) {
            echo '<div class="banner_or_img">';
            echo $bimg2_str;
            echo '</div>';
        }
        ?>
    </td>
</tr>



그리고 bannerformupdate.php 에서

$bn_bimg 를 참고해서 동일하게 $bn_bimg2 로 만들어줬는데요...;;

계속 이미지 파일만 업로드가 가능하다고 뜨네요;;ㅠㅠㅠ


$bn_bimg      = $_FILES['bn_bimg']['tmp_name'];
$bn_bimg_name = $_FILES['bn_bimg']['name'];

$bn_bimg2      = $_FILES['bn_bimg2']['tmp_name']; // 200403 추가
$bn_bimg2_name = $_FILES['bn_bimg2']['name']; // 200403 추가

$bn_id = (int) $bn_id;

if ($bn_bimg_del)  @unlink(G5_DATA_PATH."/banner/$bn_id");
if ($bn_bimg2_del)  @unlink(G5_DATA_PATH."/banner/m$bn_id"); // 200403 추가

//파일이 이미지인지 체크합니다.
if( $bn_bimg || $bn_bimg_name || $bn_bimg2 || $bn_bimg2_name ){ // 200414 $bn_bimg2 추가

    if( !preg_match('/\.(gif|jpe?g|bmp|png)$/i', $bn_bimg_name) ){
        alert("이미지 파일만 업로드 할수 있습니다.");
    }

    $timg = @getimagesize($bn_bimg);
    if ($timg['2'] < 1 || $timg['2'] > 16){
        alert("이미지 파일만 업로드 할수 있습니다.");
    }

    // 200403 추가
    if( !preg_match('/\.(gif|jpe?g|bmp|png)$/i', $bn_bimg2_name) ){
        alert("이미지 파일만 업로드 할수 있습니다.");
    }

    $timg2 = @getimagesize($bn_bimg2);
    if ($timg2['2'] < 1 || $timg2['2'] > 16){
        alert("이미지 파일만 업로드 할수 있습니다.");
    }
}

$bn_url = strip_tags(clean_xss_attributes($bn_url));
$bn_alt = strip_tags(clean_xss_attributes($bn_alt));

if ($w=="")
{
    if (!$bn_bimg_name) alert('배너 이미지를 업로드 하세요.');

    sql_query(" alter table {$g5['g5_shop_banner_table']} auto_increment=1 ");

    $sql = " insert into {$g5['g5_shop_banner_table']}
                set bn_alt        = '$bn_alt',
                    bn_url        = '$bn_url',
                    bn_device     = '$bn_device',
                    bn_position   = '$bn_position',
                    bn_border     = '$bn_border',
                    bn_new_win    = '$bn_new_win',
                    bn_begin_time = '$bn_begin_time',
                    bn_end_time   = '$bn_end_time',
                    bn_time       = '$now',
                    bn_hit        = '0',
                    bn_order      = '$bn_order' ";
    sql_query($sql);

    $bn_id = sql_insert_id();
}
else if ($w=="u")
{
    $sql = " update {$g5['g5_shop_banner_table']}
                set bn_alt        = '$bn_alt',
                    bn_url        = '$bn_url',
                    bn_device     = '$bn_device',
                    bn_position   = '$bn_position',
                    bn_border     = '$bn_border',
                    bn_new_win    = '$bn_new_win',
                    bn_begin_time = '$bn_begin_time',
                    bn_end_time   = '$bn_end_time',
                    bn_order      = '$bn_order'
              where bn_id = '$bn_id' ";
    sql_query($sql);
}
else if ($w=="d")
{
    @unlink(G5_DATA_PATH."/banner/$bn_id");
    @unlink(G5_DATA_PATH."/banner/m$bn_id");

    $sql = " delete from {$g5['g5_shop_banner_table']} where bn_id = $bn_id ";
    $result = sql_query($sql);
}


if ($w == "" || $w == "u")
{
    if ($_FILES['bn_bimg']['name']) upload_file($_FILES['bn_bimg']['tmp_name'], $bn_id, G5_DATA_PATH."/banner");
    if ($_FILES['bn_bimg2']['name']) upload_file($_FILES['bn_bimg2']['tmp_name'], 'm'.$bn_id, G5_DATA_PATH."/banner"); // 200403 추가

    goto_url("./bannerform.php?w=u&amp;bn_id=$bn_id");
} else {
    goto_url("./bannerlist.php");
}



휴... 역시 좀만 복잡해지면 개발부분까지 건드리기는 어렵네요;; 간단한 것들은 어찌어찌 해결가능하긴 한데...;;

09 if ($bn_bimg_del)  @unlink(G5_DATA_PATH."/banner/$bn_id");
10 if ($bn_bimg2_del)  @unlink(G5_DATA_PATH."/banner/m$bn_id"); // 200403 추가

 

$bn_id

변수인것같은데 "" 안에 들어있네요 이거말고도 몇몇군데  보이는듯

// 날짜 추가 라고 주석처리된 부분은 원본을 그대로 복사해서 변수명만 바꿔줬습니다...;;

저도 말씀해주신 부분이 좀 애매한데 문자열안에 변수 넣을때는 {$bn_id} 이런식으로 중괄호로 감싸고 넣는거로 봤었는데

답변주신 부분은 그냥 다이렉트로 $bn_id 로 쓰고... 개발자가 아니어서 뭐가 맞는지 몰라 저도 헷갈리네요;;ㅠㅠㅠ

답변을 작성하시기 전에 로그인 해주세요.
전체 364
QA 내용 검색

회원로그인

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