영카트 naver.php 파일 필수 사항만 전송가능하게 변경
본문
쇼핑몰 초보입니다.. 하나해결하면 하나가 문제 중인 상황입니다
슬로우쿼리 문제로 호스팅을 바꿔야하나 말아야 하는 상황입니다
정말 다 완벽한다 naver.php 파일 이놈 문제만 해결 되면 괜찮을꺼 같습니다
방금 답변을 달아주셔서 이것저것 제가 할수 있는 것을 처리 하려고 하고 있습니다
바쁘시겠지만 조금 도움을 주셨으면 좋겠습니다
현재 제가 사용하고 있는 소스입니다
필수 사항만 출력하고 싶은데 너무 어렵네요
<?php
include_once('./_common.php');
set_time_limit ( 0 );
ini_set('memory_limit', '-1');
ini_set('max_execution_time', 300000);
// clean the output buffer
ob_end_clean();
/*
EP 버전 3.0
네이버지식쇼핑상품EP (Engine Page) 제작및연동가이드 (제휴사제공용)
http://join.shopping.naver.com/misc/download/ep_guide.nhn
Field Status Notes
id 필수 판매하는 상품의 유니크한 상품ID
title 필수 실제 서비스에 반영될 상품명(Title)
price_pc 필수 상품가격
link 필수 상품URL
image_link 필수 해당 상품의 이미지URL
category_name1 필수 카테고리명(대분류)
category_name2 권장 카테고리명(중분류)
category_name3 권장 카테고리명(소분류)
category_name4 권장 카테고리명(세분류)
model_number 권장 모델명
brand 권장 브랜드
maker 권장 제조사
origin 권장 원산지
event_words 권장 이벤트
coupon 권장 쿠폰
interest_free_event 권장 무이자
point 권장 포인트
shipping 필수 배송료
seller_id 권장 셀러 ID (오픈마켓에 한함)
class 필수(요약) I (신규상품) / U (업데이트 상품) / D (품절상품)
update_time 필수(요약) 상품정보 생성 시각
*/
$tab = "\t";
ob_start();
echo "id{$tab}title{$tab}price_pc{$tab}link{$tab}image_link{$tab}category_name1{$tab}category_name2{$tab}category_name3{$tab}category_name4{$tab}model_number{$tab}brand{$tab}maker{$tab}origin{$tab}point{$tab}shipping";
$sql =" select * from {$g5['g5_shop_item_table']} where it_use = '1' order by ca_id";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
$cate1 = $cate2 = $cate3 = $cate4 = '';
$caid1 = $caid2 = $caid3 = $caid4 = '';
$caid1 = substr($row['ca_id'],0,2);
$row2 = sql_fetch(" select ca_name from {$g5['g5_shop_category_table']} where ca_id = '$caid1' ");
$cate1 = $row2['ca_name'];
if (strlen($row['ca_id']) >= 8) {
$caid4 = substr($row['ca_id'],0,8);
$row2 = sql_fetch(" select ca_name from {$g5['g5_shop_category_table']} where ca_id = '$caid4' ");
$cate4 = $row2['ca_name'];
}
if (strlen($row['ca_id']) >= 6) {
$caid3 = substr($row['ca_id'],0,6);
$row2 = sql_fetch(" select ca_name from {$g5['g5_shop_category_table']} where ca_id = '$caid3' ");
$cate3 = $row2['ca_name'];
}
if (strlen($row['ca_id']) >= 4) {
$caid2 = substr($row['ca_id'],0,4);
$row2 = sql_fetch(" select ca_name from {$g5['g5_shop_category_table']} where ca_id = '$caid2' ");
$cate2 = $row2['ca_name'];
}
// 배송비계산
$delivery = get_item_sendcost2($row['it_id'], $row['it_price'], 1);
// 상품이미지
$img_url = get_it_imageurl($row['it_id']);
// 포인트
$it_point = get_item_point($row);
$item_link = G5_SHOP_URL.'/item.php?it_id='.$row['it_id'];
echo "\n{$row['it_id']}{$tab}{$row['it_name']}{$tab}{$row['it_price']}{$tab}{$item_link}{$tab}{$img_url}{$tab}{$cate1}{$tab}{$cate2}{$tab}{$cate3}{$tab}{$cate4}{$tab}{$row['it_model']}{$tab}{$row['it_brand']}{$tab}{$row['it_maker']}{$tab}{$row['it_origin']}{$tab}{$it_point}{$tab}{$delivery}";
}
$content = ob_get_contents();
ob_end_clean();
$file = fopen("navertxt.txt","w");
fwrite($file,"$content");
echo $content;
$log_dir = G5_DATA_PATH.'/text';
@mkdir($log_dir, G5_DIR_PERMISSION);
@chmod($log_dir, G5_DIR_PERMISSION);
$log_file = fopen($log_dir."/test.text", "a");
fwrite($log_file, "\r\n");
fclose($log_file);
?>
답변 2
해당 권장에 들어있는 부분들은 소스상에서 모두 삭제하셔야합니다.
위의 권장에 표기된 항복들을 아래에서 체크해드린것을 제거하시면됩니다.
그런데 슬로우 쿼리문제라면
쿼리의 양이 많아서 그렇다는건데
해당 쿼리를 보시면 selete * from 으로 모든 정보를 검색하는데
그러지마시고 selete it_id, ca_name,......... from ..................
이런식을 원하는 필드만 쿼리를 구성하시는게 효과적일 수 있습니다.