[Y5] 영카트4를 이전할때 상품 이미지가 안넘어올 경우 > 기술자료

본문 바로가기
사이트 내 전체검색

기술자료

영카트 [Y5] 영카트4를 이전할때 상품 이미지가 안넘어올 경우

페이지 정보

댓글 0건 조회 2,806회 작성일 17-06-08 03:35

본문

영카트4를 영카트5로 이전할때 yc4_import.php 로 데이타 이전후 상품 이미지가 넘어오지 않는 경우 
영카트4에서 목록 이미지는 있지만, 중간 그리고 큰 상품 이미지가 없는경우에 사용하세요. 

상품 이미지를 복제 후 디비 상품데이타에 상품이미지 정보를 업데이트 합니다. 


1. 영카트5 / yc4_import_file_run.php  생성

<?php
include_once('./_common.php');
include_once(G5_LIB_PATH.'/connect.lib.php');
include_once(G5_LIB_PATH.'/outlogin.lib.php');

$g5['title'] = '영카트4 DB 데이터 이전';
include_once(G5_PATH.'/head.sub.php');

if($is_admin != 'super')
    alert('최고관리자로 로그인 후 실행해 주십시오.', G5_URL);
?>

<style>
#g4_import p {padding:0 0 10px;line-height:1.8em}
#g4_import_frm {margin:20px 0 30px;padding:30px 0;border:1px solid #e9e9e9;background:#f5f8f9;text-align:center}
#g4_import_frm .frm_input {background-color:#fff !important}
#g4_import_frm .btn_submit {padding:0 10px;height:24px}
</style>

<!-- 상단 시작 { -->
<div id="hd">
    <h1 id="hd_h1"><?php echo $g5['title'] ?></h1>

    <div id="skip_to_container"><a href="#container">본문 바로가기</a></div>

    <div id="hd_wrapper">

        <div id="logo">
            <a href="<?php echo G5_URL ?>"><img src="<?php echo G5_IMG_URL ?>/logo.jpg" alt="<?php echo $config['cf_title']; ?>"></a>
        </div>

        <ul id="tnb">
            <?php if ($is_member) {  ?>
            <?php if ($is_admin) {  ?>
            <li><a href="<?php echo G5_ADMIN_URL ?>"><b>관리자</b></a></li>
            <?php }  ?>
            <li><a href="<?php echo G5_BBS_URL ?>/member_confirm.php?url=<?php echo G5_BBS_URL ?>/register_form.php">정보수정</a></li>
            <li><a href="<?php echo G5_BBS_URL ?>/logout.php">로그아웃</a></li>
            <?php } else {  ?>
            <li><a href="<?php echo G5_BBS_URL ?>/register.php">회원가입</a></li>
            <li><a href="<?php echo G5_BBS_URL ?>/login.php"><b>로그인</b></a></li>
            <?php }  ?>
            <li><a href="<?php echo G5_BBS_URL ?>/qalist.php">1:1문의</a></li>
            <li><a href="<?php echo G5_BBS_URL ?>/current_connect.php">접속자 <?php echo connect(); // 현재 접속자수  ?></a></li>
            <li><a href="<?php echo G5_BBS_URL ?>/new.php">새글</a></li>
        </ul>
    </div>

    <hr>
</div>
<!-- } 상단 끝 -->

<hr>

<!-- 콘텐츠 시작 { -->
<div id="wrapper">
    <div id="aside">
        <?php // echo outlogin('basic'); // 외부 로그인  ?>
    </div>
    <div id="container">
        <?php if ((!$bo_table || $w == 's' ) && !defined("_INDEX_")) { ?><div id="container_title"><?php echo $g5['title'] ?></div><br><br><?php } ?>

        <div id="g4_import">
            <p>
                이 프로그램은 영카트5 이전후 상품 이미지 복사가 덜 된경우에 실행합니다.
            </p>
            <p>프로그램을 실행하시려면 영카트4의 config.php 파일 경로를 입력 후 확인을 클릭해 주십시오.</p>

            <form name="fimport" method="post" action="./yc4_import_file_run.php" onsubmit="return fimport_submit(this);">
            <div id="g4_import_frm">
                <label for="file_path">config.php 파일 경로</label>
                <input type="text" name="file_path" id="file_path" required class="frm_input required">
                <input type="submit" value="확인" class="btn_submit">
            </div>
            </form>

            <p>
                경로는 영카트5 설치 루트를 기준으로 영카트4의 config.php 파일의 상대경로입니다.<br>
                예를 들어 영카트4를 웹루트에 설치하셨고 영카트5를 yc5라는 하위 폴더에 설치하셨다면 입력하실 경로는 ../config.php 입니다.
            </p>

        </div>

        <script>
        function fimport_submit(f)
        {
            return confirm('영카트4의 상품 이미지를 이전하시겠습니까?');
        }
        </script>

    </div>
</div>

<!-- } 콘텐츠 끝 -->

<script>
$(function() {
    // 폰트 리사이즈 쿠키있으면 실행
    font_resize("container", get_cookie("ck_font_resize_rmv_class"), get_cookie("ck_font_resize_add_class"));
});
</script>

<?php
include_once(G5_PATH.'/tail.sub.php');
?>


2. 영카트5 / yc4_import_file_run.php  생성

<?php
include_once('./_common.php');

ob_end_clean();

include_once(G5_LIB_PATH.'/connect.lib.php');
include_once(G5_LIB_PATH.'/outlogin.lib.php');

set_time_limit ( 0 );
ini_set('memory_limit', '100M');

$g5['title'] = '영카트4 DB 데이터 이전';
include_once(G5_PATH.'/head.sub.php');

echo '<link rel="stylesheet" href="'.G5_URL.'/g4_import.css">';

if(empty($_POST))
    alert('올바른 방법으로 이용해 주십시오.', G5_URL);

if($is_admin != 'super')
    alert('최고관리자로 로그인 후 실행해 주십시오.', G5_URL);

$g4_config_file = trim($_POST['file_path']);

if(!$g4_config_file)
    alert('config.php 파일의 경로를 입력해 주십시오.');

$g4_config_file = preg_replace('#/config.php$#i', '', $g4_config_file).'/config.php';

if(!is_file($g4_config_file))
    alert('입력하신 경로에 config.php 파일이 존재하지 않습니다.');

$shop_config_file = str_replace('config.php', 'shop.config.php', $g4_config_file);

if(!is_file($shop_config_file))
    alert('입력하신 경로에 shop.config.php 파일이 존재하지 않습니다.\\nshop.config.php 파일은 config.php 파일과 동일한 위치에 있어야 합니다.');

$item_img_path = str_replace('config.php', 'data/item', $g4_config_file);

if(!file_exists($item_img_path))
    alert('상품이미지 폴더를 확인할 수 없습니다. 상품이미지 폴더의 상대경로가 '.$item_img_path.' 이 아니라면\\nyc4_import_run.php 파일에서 $item_img_path 의 값을 수정하신 후 실행해 주십시오.');

$is_euckr = false;
?>
<script>
// 새로고침 방지
function noRefresh()
{
    /* CTRL + N키 막음. */
    if ((event.keyCode == 78) && (event.ctrlKey == true))
    {
        event.keyCode = 0;
        return false;
    }
    /* F5 번키 막음. */
    if(event.keyCode == 116)
    {
        event.keyCode = 0;
        return false;
    }
}

document.onkeydown = noRefresh ;
</script>

<style>
#g4_import_run {}
#g4_import_run ol {margin: 0;padding: 0 0 0 25px;border: 1px solid #E9E9E9;border-bottom: 0;background: #f5f8f9;list-style:none;zoom:1}
#g4_import_run li {padding:7px 10px;border-bottom:1px solid #e9e9e9}
#g4_import_run #run_msg {padding:30px 0;text-align:center}
</style>

<!-- 상단 시작 { -->
<div id="hd">
    <h1 id="hd_h1"><?php echo $g5['title'] ?></h1>

    <div id="skip_to_container"><a href="#container">본문 바로가기</a></div>

    <div id="hd_wrapper">

        <div id="logo">
            <a href="<?php echo G5_URL ?>"><img src="<?php echo G5_IMG_URL ?>/logo.jpg" alt="<?php echo $config['cf_title']; ?>"></a>
        </div>

        <ul id="tnb">
            <?php if ($is_member) {  ?>
            <?php if ($is_admin) {  ?>
            <li><a href="<?php echo G5_ADMIN_URL ?>"><b>관리자</b></a></li>
            <?php }  ?>
            <li><a href="<?php echo G5_BBS_URL ?>/member_confirm.php?url=<?php echo G5_BBS_URL ?>/register_form.php">정보수정</a></li>
            <li><a href="<?php echo G5_BBS_URL ?>/logout.php">로그아웃</a></li>
            <?php } else {  ?>
            <li><a href="<?php echo G5_BBS_URL ?>/register.php">회원가입</a></li>
            <li><a href="<?php echo G5_BBS_URL ?>/login.php"><b>로그인</b></a></li>
            <?php }  ?>
            <li><a href="<?php echo G5_BBS_URL ?>/qalist.php">1:1문의</a></li>
            <li><a href="<?php echo G5_BBS_URL ?>/current_connect.php">접속자 <?php echo connect(); // 현재 접속자수  ?></a></li>
            <li><a href="<?php echo G5_BBS_URL ?>/new.php">새글</a></li>
        </ul>
    </div>

    <hr>
</div>
<!-- } 상단 끝 -->

<hr>

<!-- 콘텐츠 시작 { -->
<div id="wrapper">
    <div id="aside">
        <?php // echo outlogin('basic'); // 외부 로그인  ?>
    </div>
    <div id="container">
        <?php if ((!$bo_table || $w == 's' ) && !defined("_INDEX_")) { ?><div id="container_title"><?php echo $g5['title'] ?></div><br><br><?php } ?>

        <div id="g4_import_run">
            <ol>
        <?php
        flush();

        // yc4의 confing.php, shop.config.php
        require($g4_config_file);
        require($shop_config_file);

        if(preg_replace('/[^a-z]/', '', strtolower($g4['charset'])) == 'euckr')
            $is_euckr = true;
        
        // item 이미지 복사
        $sql = " select * from {$g4['yc4_item_table']} ";
        $result = sql_query($sql);
        for($i=0; $row=sql_fetch_array($result); $i++) {
            if($is_euckr)
                $row = array_map('iconv_utf8', $row);

            $comma = '';
            $sql_common = '';

            // 상품이미지처리
            $idx = 1;
            for($k=1; $k<=5; $k++) {
                $item_img_file = $item_img_path.'/'.$row['it_id'].'_l'.$k;
                if(is_file($item_img_file)) {
                    $size = @getimagesize($item_img_file);

                    if($size[2] < 1 || $size[2] > 16)
                        continue;

                    switch($size[2]) {
                        case 1:
                            $ext = 'gif';
                            break;
                        case 2:
                            $ext = 'jpg';
                            break;
                        case 3:
                            $ext = 'png';
                            break;
                        case 6:
                            $ext = 'bmp';
                            break;
                        default:
                            continue;
                            break;
                    }

                    // 이미지복사
                    @mkdir(G5_DATA_PATH.'/item/'.$row['it_id'], G5_DIR_PERMISSION);
                    @chmod(G5_DATA_PATH.'/item/'.$row['it_id'], G5_DIR_PERMISSION);

                    if(copy($item_img_file, G5_DATA_PATH.'/item/'.$row['it_id'].'/'.$row['it_id'].'_l'.$idx.'.'.$ext)) {
                        @chmod(G5_DATA_PATH.'/item/'.$row['it_id'].'/'.$row['it_id'].'_l'.$idx.'.'.$ext, G5_FILE_PERMISSION);
                        $sql_common .= $comma . " it_img{$idx} = '".$row['it_id'].'/'.$row['it_id'].'_l'.$idx.'.'.$ext."' ";
                        $idx++;
                    }
                    //echo "item_img_file = ". $item_img_file ."<br>";
                } else {
                    if ($k == 1) {
                        $item_img_file_s = $item_img_path.'/'.$row['it_id'].'_s';
                        //echo "item_img_file_s1 = ". $item_img_file_s ."<br>";
                        if (is_file($item_img_file_s)) {
                            echo "item_img_file_s2 = ". $item_img_file_s ."<br>";
                            $size = @getimagesize($item_img_file_s);
            
                            if($size[2] < 1 || $size[2] > 16)
                                continue;
            
                            switch($size[2]) {
                                case 1:
                                    $ext = 'gif';
                                    break;
                                case 2:
                                    $ext = 'jpg';
                                    break;
                                case 3:
                                    $ext = 'png';
                                    break;
                                case 6:
                                    $ext = 'bmp';
                                    break;
                                default:
                                    continue;
                                    break;
                            }
            
                            // 이미지복사
                            @mkdir(G5_DATA_PATH.'/item/'.$row['it_id'], G5_DIR_PERMISSION);
                            @chmod(G5_DATA_PATH.'/item/'.$row['it_id'], G5_DIR_PERMISSION);
            
                            if(copy($item_img_file_s, G5_DATA_PATH.'/item/'.$row['it_id'].'/'.$row['it_id'].'_s.'.$ext)) {
                                @chmod(G5_DATA_PATH.'/item/'.$row['it_id'].'/'.$row['it_id'].'_s.'.$ext, G5_FILE_PERMISSION);
                                $sql_common .= $comma . " it_img{$idx} = '".$row['it_id'].'/'.$row['it_id'].'_s.'.$ext."' ";
                            }
                        }
                    }
                }
            }
            
            echo " update {$g5['g5_shop_item_table']} SET $sql_common where it_id = {$row['it_id']} <br>";
            
        }
        echo '<li>item 이미지 복사</li>'.PHP_EOL;

        echo '</ol>'.PHP_EOL;

        echo '<div id="run_msg">영카트4 DB 상품 이미지 이전 완료</div>'.PHP_EOL;
        ?>
        <div id="run_msg"><a href="yc4_import_file.php">다시 복사</a></div>
        </div>

    </div>
</div>

<!-- } 콘텐츠 끝 -->

<script>
$(function() {
    // 폰트 리사이즈 쿠키있으면 실행
    font_resize("container", get_cookie("ck_font_resize_rmv_class"), get_cookie("ck_font_resize_add_class"));
});
</script>

<?php
include_once(G5_PATH.'/tail.sub.php');
?>

댓글목록

등록된 댓글이 없습니다.


Total 2,213건 1 페이지
기술자료 목록
번호 제목
공지 일반
온라인 강좌를 소개합니다. ( update. 2017-12-05 16:33 ) Hit.15888
2212 호스팅
[Daum] 스마트워크 발송자 이름 변경하기 ( update. 2018-05-17 10:41 ) Hit.26
2211 JavaScript
2210 도메인
국제도메인 삭제복구서비스 ( update. 2018-05-10 14:05 ) Hit.67
2209 MSSQL
getdate() 와 sysdatetime() ( write. 2018-05-09 ) Hit.56
2208 그누보드
[G5] 글 가장 위로 순서 변경하기 ( update. 2018-05-08 12:40 ) Hit.76
2207 호스팅
네임서버 정보 ( update. 2018-05-09 13:45 ) Hit.100
2206 영카트
2205 영카트
2204 Search
2203 그누보드
2202 그누보드
2201 영카트
2200 영카트
2199 영카트
영카트 5.3 에서 삭제된 영카트 4.x 필드 ( update. 2018-04-02 14:02 ) Hit.339
2198 그누보드
2197 영카트
2196 HTML
웹브라우저 언어설정 코드 ( write. 2018-03-28 ) Hit.368
2195 ClassicASP
2194 그누보드
2193 HTML
2192 전자결제
[LG유플러스] [ASP] utf-8 사용하기 ( update. 2018-03-16 06:06 ) Hit.492
2191 ClassicASP
한글 깨짐 변환 ( update. 2018-03-16 04:56 ) Hit.470
2190 JavaScript
새로고침(F5) 금지 ( write. 2018-03-15 ) Hit.492
2189 그누보드
[G4] 스팸게시글 한방에 삭제하기 ( update. 2018-03-23 15:54 ) Hit.513
게시물 검색

회원로그인

접속자집계

오늘
1,141
어제
1,409
최대
3,174
전체
3,989,364

회사명: 해피정닷컴   전화: 070-7600-3500   팩스: 02-865-3528
주소: 08394 서울시 구로구 디지털로 242 한화비즈메트로1차 1502호
사업자번호: 119-05-36414   대표: 정창용   개인정보보호책임자: 정창용
Copyright 2001-2018 해피정닷컴. All Rights Reserved.