다음 소스는 제가 현재 사용중인 통신처리 내용 일부입니다.
[code]
<?php
/*
* 설명: 매장 개설 처리부
* 전달값: user_id, name, company_num, company_num_img, owner_name, addr, phone, bank_num_img, identify_img, sign_img, subject, content, store_pic[], level, user_type
* 반환값:
*/
include_once('_common.php');
# 템프 저장소 생성 및 퍼미션 변경
if(mkdir('./temp', 0707, true))
@chmod('./temp', 0707);
# 실제 저장소 생성 및 퍼미션 변경
if(mkdir(G5_DATA_PATH.'/app', 0707, true))
@chmod(G5_DATA_PATH.'/app', 0707);
if(mkdir(G5_DATA_PATH.'/app/store', 0707, true))
@chmod(G5_DATA_PATH.'/app/store', 0707);
# PATH 경로 잡음
$TempSavePath = './temp';
$SavePath = G5_DATA_PATH.'/app/store';
# 전달값 확인
if(!$_REQUEST['user_id']) die('회원정보 전달 값 없음');
# 데이터 복호화
$store_id = TbDecrypt($_REQUEST['store_id']);
$user_id = TbDecrypt($_REQUEST['user_id']);
$name = TbDecrypt($_REQUEST['name']);
$company_num = TbDecrypt($_REQUEST['company_num']);
$owner_name = TbDecrypt($_REQUEST['owner_name']);
$addr = TbDecrypt($_REQUEST['addr']);
$phone = TbDecrypt($_REQUEST['phone']);
$subject = TbDecrypt($_REQUEST['subject']);
$content = TbDecrypt($_REQUEST['content']);
$level = TbDecrypt($_REQUEST['level']);
$user_type = TbDecrypt($_REQUEST['user_type']);
# 상점 정보를 찾아본다.
//$StoreData = $tb->GetQuery(" select * from `{$xe['store_table']}` where `store_id` = '{$store_id}' ");
# 조건에 따른 sql 구조문 만듬
if($store_id) { // 매장이 있다면
$sql_head = " update `{$xe['store_table']}` set ";
$sql_body = "";
$sql_tail = "where `idx` = '{$store_id}' ";
}
else { // 매장이 없다면
$sql_head = " insert into `{$xe['store_table']}` set ";
$sql_body = " `user_id` = '{$user_id}', ";
$sql_tail = "";
}
# 이미지 작업 처리 작업
if($_REQUEST['company_num_img']) { // 사업자등록증 사본
$company_num_img_data = $tb->binary2images($TempSavePath, $SavePath, $store_id.'_company_num_img_'.time().'.jpg', $_REQUEST['company_num_img']);
if($company_num_img_data['name']) $sql_body .= " `company_num_img` = '".G5_URL."/app/store/{$company_num_img_data['name']}', ";
}
if($_REQUEST['bank_num_img']) { // 통장사본
$bank_num_img_data = $tb->binary2images($TempSavePath, $SavePath, $store_id.'_bank_num_img_'.time().'.jpg', $_REQUEST['bank_num_img']);
if($bank_num_img_data['name']) $sql_body .= " `bank_num_img` = '".G5_URL."/app/store/{$bank_num_img_data['name']}', ";
}
if($_REQUEST['identify_img']) { // 예금주 신분증 사본
$identify_img_data = $tb->binary2images($TempSavePath, $SavePath, $store_id.'_identify_img_'.time().'.jpg', $_REQUEST['identify_img']);
if($identify_img_data['name']) $sql_body .= " `identify_img` = '".G5_URL."/app/store/{$identify_img_data['name']}', ";
}
if($_REQUEST['sign_img']) { // 예금주 신분증 사본
$sign_img_data = $tb->binary2images($TempSavePath, $SavePath, $store_id.'_sign_img_'.time().'.jpg', $_REQUEST['sign_img']);
if($sign_img_data['name']) $sql_body .= " `sign_img` = '".G5_URL."/app/store/{$sign_img_data['name']}', ";
}
if($_REQUEST['store_pic'][0]) { // 매장사진
$StorePic = '';
for($i=0; $i<count($_REQUEST['store_pic']); $i++) {
if($_REQUEST['store_pic'][$i]) {
$store_picData = '';
$store_picData[$i] = $tb->binary2images($TempSavePath, $SavePath, $store_id.'_store_pic_'.$i.'_'.time().'.jpg', $_REQUEST['store_pic'][$i]);
$StorePic .= G5_URL."/app/store/{$store_picData[$i]['name']}\\r\\n";
}
}
if($StorePic) $sql_body .= " `store_pic` = '{$StorePic}', ";
}
# 업데이트 날짜 설정
$Diff = date('Y-m-d H:i:s');
$sql = $sql_head;
$sql .= $sql_body;
$sql .= " `name` = '{$name}', ";
$sql .= " `company_num` = '{$company_num}', ";
$sql .= " `owner_name` = '{$owner_name}', ";
$sql .= " `addr` = '{$addr}', ";
$sql .= " `phone` = '{$phone}', ";
$sql .= " `subject` = '{$subject}', ";
$sql .= " `content` = '{$content}', ";
$sql .= " `level` = '{$level}', ";
$sql .= " `user_type` = '{$user_type}', ";
$sql .= " `diff` = '{$Diff}' ";
$sql .= $sql_tail;
sql_query($sql);
# 상점 정보를 다시 확인
$data = $tb->GetQuery(" select * from `{$xe['store_table']}` where `user_id` = '{$user_id}' ");
# 조건에 부합하는 출력 내용을 xml형태로 반환
echo '<?xml version="1.0" encoding="UTF-8"?>'.PHP_EOL;
echo '<data>'.PHP_EOL;
echo $tb->array2xml3($Data);
echo '</data>'.PHP_EOL;
[/code]
동작도: 어플 요청->php에서 필수 값 확인-> 전달값 복호화-> 바이러니 이미지 처리-> 값에 따른 insert or update 구분 하여 sql문 만듬-> 요청 값 반환
중요한점: 어플 내부 DB에도 같은 DB를 저장하여 신규로 발생 하는 DB를 서버로 전송하여 처리 한다. db마다 존재하는 `diff time`을 비교하여 마지막 발생 시점과 현재 타임과 비교하여 사이 데이터를 모두 다운받는다.
여러분은 어떤식으로 처리 하시나요?
댓글 2개
11년 전
syntax highlight code 적용해 놓았습니다.
Terrorboy
11년 전
감사합니다!! 센스쟁이!!
주제가 무겁나보네요 ㅎㅎ
주제가 무겁나보네요 ㅎㅎ
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 7830 | 9년 전 | 411 | ||
| 7829 |
|
9년 전 | 593 | |
| 7828 | 9년 전 | 527 | ||
| 7827 | 9년 전 | 414 | ||
| 7826 | 9년 전 | 424 | ||
| 7825 | 10년 전 | 463 | ||
| 7824 | 10년 전 | 437 | ||
| 7823 | 10년 전 | 360 | ||
| 7822 | 10년 전 | 344 | ||
| 7821 | 10년 전 | 298 | ||
| 7820 | 10년 전 | 341 | ||
| 7819 |
|
10년 전 | 743 | |
| 7818 | 10년 전 | 377 | ||
| 7817 | 10년 전 | 497 | ||
| 7816 | 10년 전 | 394 | ||
| 7815 | 10년 전 | 597 | ||
| 7814 | 10년 전 | 417 | ||
| 7813 | 10년 전 | 364 | ||
| 7812 | 10년 전 | 384 | ||
| 7811 | 10년 전 | 386 | ||
| 7810 | 10년 전 | 553 | ||
| 7809 | 10년 전 | 478 | ||
| 7808 | 10년 전 | 370 | ||
| 7807 | 10년 전 | 394 | ||
| 7806 |
프로그래머7
|
10년 전 | 1327 | |
| 7805 | 10년 전 | 1268 | ||
| 7804 |
zahir1312
|
10년 전 | 766 | |
| 7803 |
|
10년 전 | 1363 | |
| 7802 | 10년 전 | 452 | ||
| 7801 | 10년 전 | 854 | ||
| 7800 | 10년 전 | 1078 | ||
| 7799 | 10년 전 | 542 | ||
| 7798 | 10년 전 | 494 | ||
| 7797 | 10년 전 | 493 | ||
| 7796 | 10년 전 | 338 | ||
| 7795 | 10년 전 | 493 | ||
| 7794 | 10년 전 | 535 | ||
| 7793 | 10년 전 | 1042 | ||
| 7792 | 10년 전 | 456 | ||
| 7791 | 10년 전 | 537 | ||
| 7790 | 10년 전 | 495 | ||
| 7789 |
fbastore
|
10년 전 | 1439 | |
| 7788 | 10년 전 | 530 | ||
| 7787 | 10년 전 | 390 | ||
| 7786 | 10년 전 | 566 | ||
| 7785 | 10년 전 | 570 | ||
| 7784 | 10년 전 | 630 | ||
| 7783 | 10년 전 | 431 | ||
| 7782 | 10년 전 | 481 | ||
| 7781 | 10년 전 | 893 | ||
| 7780 | 10년 전 | 805 | ||
| 7779 | 10년 전 | 768 | ||
| 7778 | 10년 전 | 357 | ||
| 7777 | 10년 전 | 441 | ||
| 7776 | 10년 전 | 448 | ||
| 7775 | 10년 전 | 394 | ||
| 7774 | 10년 전 | 627 | ||
| 7773 | 10년 전 | 374 | ||
| 7772 | 10년 전 | 722 | ||
| 7771 | 10년 전 | 369 | ||
| 7770 | 10년 전 | 638 | ||
| 7769 | 10년 전 | 366 | ||
| 7768 | 10년 전 | 592 | ||
| 7767 | 10년 전 | 1160 | ||
| 7766 | 10년 전 | 485 | ||
| 7765 | 10년 전 | 510 | ||
| 7764 |
잘살아보자
|
10년 전 | 370 | |
| 7763 |
|
10년 전 | 1440 | |
| 7762 |
Tosea
|
10년 전 | 1047 | |
| 7761 | 10년 전 | 637 | ||
| 7760 |
잘살아보자
|
10년 전 | 668 | |
| 7759 |
잘살아보자
|
10년 전 | 493 | |
| 7758 |
잘살아보자
|
10년 전 | 581 | |
| 7757 | 10년 전 | 1230 | ||
| 7756 |
ITBANK
|
10년 전 | 1247 | |
| 7755 | 10년 전 | 1921 | ||
| 7754 | 10년 전 | 1045 | ||
| 7753 | 10년 전 | 874 | ||
| 7752 | 10년 전 | 1381 | ||
| 7751 |
잘살아보자
|
10년 전 | 515 | |
| 7750 |
잘살아보자
|
10년 전 | 470 | |
| 7749 |
잘살아보자
|
10년 전 | 472 | |
| 7748 |
잘살아보자
|
10년 전 | 470 | |
| 7747 |
잘살아보자
|
10년 전 | 565 | |
| 7746 |
잘살아보자
|
10년 전 | 672 | |
| 7745 |
잘살아보자
|
10년 전 | 903 | |
| 7744 |
잘살아보자
|
10년 전 | 407 | |
| 7743 | 10년 전 | 938 | ||
| 7742 |
starbros
|
10년 전 | 827 | |
| 7741 |
잘살아보자
|
10년 전 | 662 | |
| 7740 |
잘살아보자
|
10년 전 | 515 | |
| 7739 |
잘살아보자
|
10년 전 | 456 | |
| 7738 |
잘살아보자
|
10년 전 | 521 | |
| 7737 |
잘살아보자
|
10년 전 | 487 | |
| 7736 |
잘살아보자
|
10년 전 | 509 | |
| 7735 |
잘살아보자
|
10년 전 | 836 | |
| 7734 |
잘살아보자
|
10년 전 | 422 | |
| 7733 |
잘살아보자
|
10년 전 | 534 | |
| 7732 |
잘살아보자
|
10년 전 | 690 | |
| 7731 |
잘살아보자
|
10년 전 | 611 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기