다음 소스는 제가 현재 사용중인 통신처리 내용 일부입니다.
[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년 전
감사합니다!! 센스쟁이!!
주제가 무겁나보네요 ㅎㅎ
주제가 무겁나보네요 ㅎㅎ
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 7730 | 10년 전 | 1327 | ||
| 7729 | 10년 전 | 1177 | ||
| 7728 |
잘살아보자
|
10년 전 | 620 | |
| 7727 |
잘살아보자
|
10년 전 | 522 | |
| 7726 |
잘살아보자
|
10년 전 | 849 | |
| 7725 |
잘살아보자
|
10년 전 | 572 | |
| 7724 |
잘살아보자
|
10년 전 | 493 | |
| 7723 |
잘살아보자
|
10년 전 | 556 | |
| 7722 |
잘살아보자
|
10년 전 | 497 | |
| 7721 |
잘살아보자
|
10년 전 | 529 | |
| 7720 |
잘살아보자
|
10년 전 | 491 | |
| 7719 |
비긴어게인
|
10년 전 | 704 | |
| 7718 |
|
10년 전 | 2549 | |
| 7717 |
잘살아보자
|
10년 전 | 673 | |
| 7716 |
잘살아보자
|
10년 전 | 421 | |
| 7715 |
잘살아보자
|
10년 전 | 452 | |
| 7714 |
잘살아보자
|
10년 전 | 512 | |
| 7713 | 10년 전 | 1798 | ||
| 7712 | 10년 전 | 1733 | ||
| 7711 | 10년 전 | 1123 | ||
| 7710 | 10년 전 | 1415 | ||
| 7709 | 10년 전 | 1537 | ||
| 7708 | 10년 전 | 1475 | ||
| 7707 | 10년 전 | 872 | ||
| 7706 |
별지기천사
|
10년 전 | 584 | |
| 7705 | 10년 전 | 1089 | ||
| 7704 |
ICONdesignstudio
|
10년 전 | 647 | |
| 7703 | 10년 전 | 614 | ||
| 7702 |
|
10년 전 | 749 | |
| 7701 | 10년 전 | 1438 | ||
| 7700 | 10년 전 | 1117 | ||
| 7699 | 10년 전 | 599 | ||
| 7698 | 10년 전 | 1164 | ||
| 7697 | 10년 전 | 5188 | ||
| 7696 | 10년 전 | 678 | ||
| 7695 | 10년 전 | 1700 | ||
| 7694 | 10년 전 | 1088 | ||
| 7693 | 10년 전 | 1578 | ||
| 7692 | 10년 전 | 1319 | ||
| 7691 | 10년 전 | 843 | ||
| 7690 | 10년 전 | 1408 | ||
| 7689 | 10년 전 | 1036 | ||
| 7688 | 10년 전 | 639 | ||
| 7687 |
파랑새1597
|
10년 전 | 621 | |
| 7686 | 10년 전 | 875 | ||
| 7685 | 10년 전 | 1358 | ||
| 7684 | 10년 전 | 813 | ||
| 7683 | 10년 전 | 1127 | ||
| 7682 | 10년 전 | 1039 | ||
| 7681 | 10년 전 | 688 | ||
| 7680 | 10년 전 | 1005 | ||
| 7679 | 10년 전 | 528 | ||
| 7678 | 10년 전 | 756 | ||
| 7677 | 10년 전 | 656 | ||
| 7676 |
|
10년 전 | 966 | |
| 7675 |
|
10년 전 | 1204 | |
| 7674 | 10년 전 | 1071 | ||
| 7673 | 10년 전 | 775 | ||
| 7672 | 10년 전 | 1111 | ||
| 7671 | 10년 전 | 924 | ||
| 7670 | 10년 전 | 687 | ||
| 7669 |
mashmellow
|
10년 전 | 1245 | |
| 7668 | 10년 전 | 733 | ||
| 7667 | 10년 전 | 1037 | ||
| 7666 |
senseme
|
10년 전 | 674 | |
| 7665 | 10년 전 | 528 | ||
| 7664 | 10년 전 | 1913 | ||
| 7663 |
mixx애교
|
10년 전 | 996 | |
| 7662 | 10년 전 | 1060 | ||
| 7661 |
hkhkah
|
10년 전 | 808 | |
| 7660 | 10년 전 | 1078 | ||
| 7659 |
커네드커네드
|
10년 전 | 953 | |
| 7658 |
바람돌이팡
|
10년 전 | 695 | |
| 7657 | 10년 전 | 1185 | ||
| 7656 | 10년 전 | 1599 | ||
| 7655 | 10년 전 | 1015 | ||
| 7654 |
개발짜증나
|
10년 전 | 871 | |
| 7653 |
네이비칼라
|
10년 전 | 898 | |
| 7652 |
밥먹고합시다
|
10년 전 | 822 | |
| 7651 |
플라이SINJI
|
10년 전 | 1524 | |
| 7650 |
개발짜증나
|
10년 전 | 1436 | |
| 7649 | 10년 전 | 474 | ||
| 7648 |
이미영ㅇㅇ
|
10년 전 | 889 | |
| 7647 | 10년 전 | 466 | ||
| 7646 | 10년 전 | 838 | ||
| 7645 | 10년 전 | 2344 | ||
| 7644 | 10년 전 | 846 | ||
| 7643 |
|
10년 전 | 2896 | |
| 7642 | 10년 전 | 1538 | ||
| 7641 | 10년 전 | 1155 | ||
| 7640 |
개발짜증나
|
10년 전 | 485 | |
| 7639 |
|
10년 전 | 828 | |
| 7638 |
개발짜증나
|
10년 전 | 1153 | |
| 7637 | 10년 전 | 1574 | ||
| 7636 | 10년 전 | 2929 | ||
| 7635 | 10년 전 | 1724 | ||
| 7634 | 10년 전 | 1903 | ||
| 7633 | 10년 전 | 2368 | ||
| 7632 | 10년 전 | 3976 | ||
| 7631 |
|
10년 전 | 1569 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기