크롬80버전 결제 이슈, 영카트5 주요패치 확인!

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

컨텐츠몰 10% 할인
그누보드5
영카트5
매뉴얼
Q & A
제작의뢰
컨텐츠몰
부가서비스
소모임
커뮤니티
관리자 배너관리에서 배너 추가시 이미지를 2개 등록하려면...

QA

가정의 달 맞이 SIR 컨텐츠몰 10% 특별할인 - 코로나19 바이러스로 어려운 시기, SIR이 함께 하겠습니다.

관리자 배너관리에서 배너 추가시 이미지를 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

devdev님의 답변

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

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

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

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

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

 

주소복사
답변의 댓글
coDribble님의 댓글
넵 제가 아는건 딱 그 정도인데...

복붙하고 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");
}



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

cuwaaang님의 답변

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

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

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

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

답변주신 부분은 그냥 다이렉트로 $bn_id 로 쓰고... 개발자가 아니어서 뭐가 맞는지 몰라 저도 헷갈리네요;;ㅠㅠㅠ
답변을 작성하시기 전에 로그인 해주세요.
전체 12,104
고마운 분의 도움으로 질문을 해결하셨다면, 채택을 눌러서 감사의 마음을 전하세요.
어떻게 질문해야 할지 모른다면 질문하는 방법을 읽어 보신후 질문해 보세요.
QA 내용 검색

회원로그인

(주)에스아이알소프트 (06253) 서울특별시 강남구 도곡로1길 14, 6층 624호 (역삼동, 삼일프라자) 대표메일:admin@sir.kr
사업자등록번호:217-81-36347 대표:홍석명 통신판매업신고번호:2014-서울강남-02098호 개인정보보호책임자:이총

© SIRSOFT