관리자 배너관리에서 배너 추가시 이미지를 2개 등록하려면... 채택완료
반응형으로 제작중이구요... 메인 비주얼 부분을 배너관리로 사용해볼까해서 만들어놨는데...
생각해보니 반응형이라 리사이징하다가 특정 분기점(디바이스 크기)에 도달했을땐
모바일용 비주얼로 바꿔치기를 해줘야할 거 같아서 이리 저리 검색해보니... 아예 배너 위치(bn_position) 을 추가로 등록해서 사용하는거 같더라구요...;;
https://sir.kr/yc5_tip/106">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개
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
변수인것같은데 "" 안에 들어있네요 이거말고도 몇몇군데 보이는듯
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
이미지 등록하는 tr 을 그대로 복사해서 name 값을 바꿔서 써볼까 하는데... 그러면 문제가 될까요...??
그대로 복사한다고 등록되거나 하지않습니다.
저장되는 DB의 table에도 해당 컬럼이 들어가야 하며..
저장하는 쪽 프로그래에도 로직이 들어가야 합니다.
개발 지식이 없으시면 커스터마이징 힘들겠습니다.
답변에 대한 댓글 1개
복붙하고 name 값 바꿔주고 db들어가서 배너테이블에서 이미지경로가 어떻게 저장되는지 보고... 필요하면 컬럼을 추가해주고 추가시에 update 할때 추가한 컬럼 넣어주고...
이 정도인데요... db에서 배너테이블에는 이미지 경로가 저장이 안되네요...
서버에 올려진 이미지도 보면 확장자가 이미지확장자도 아니구요...;;ㅠㅠㅠ
bannerform.php 에 이미지 tr을 그대로 복붙하고 bn_bimg2로 바꿨습니다..;;
[code]
<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>
[/code]
그리고 bannerformupdate.php 에서
$bn_bimg 를 참고해서 동일하게 $bn_bimg2 로 만들어줬는데요...;;
계속 이미지 파일만 업로드가 가능하다고 뜨네요;;ㅠㅠㅠ
[code]
$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&bn_id=$bn_id");
} else {
goto_url("./bannerlist.php");
}
[/code]
휴... 역시 좀만 복잡해지면 개발부분까지 건드리기는 어렵네요;; 간단한 것들은 어찌어찌 해결가능하긴 한데...;;
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
저도 말씀해주신 부분이 좀 애매한데 문자열안에 변수 넣을때는 {$bn_id} 이런식으로 중괄호로 감싸고 넣는거로 봤었는데
답변주신 부분은 그냥 다이렉트로 $bn_id 로 쓰고... 개발자가 아니어서 뭐가 맞는지 몰라 저도 헷갈리네요;;ㅠㅠㅠ