php XML 송신 및 수신 samlple > 그누보드5 팁자료실

그누보드5 팁자료실

php XML 송신 및 수신 samlple 정보

php XML 송신 및 수신 samlple

본문

send.php

<?php
    /*--------------샘플 XML ---------------
    <?xml version='1.0' encoding='UTF-8' ?>
    <contents>
    <userid>deuxign</userid>
    <point>91035</point>
    </contents>
    --------------------------------------*/

    // XML 데이터 생성 - 페이지 인코딩이 euc-kr이라 iconv로 UTF-8 형식으로 변환
    $member_info_xml  = '<'.chr(63).'xml version="1.0" encoding="UTF-8" '.chr(63).'>'.chr(10);
    $member_info_xml .= '<contents>'.chr(10);
    $member_info_xml .= '<userid>deuxign</userid>'.chr(10);
    $member_info_xml .= '<point>91035</point>'.chr(10);
    $member_info_xml .= '</contents>'.chr(10);


    // fsock으로 POST 전송
    $host = 'www.abc.co.kr';  //'www.example.com';
    $path = '/xml/receive.php';
    $xmlData = $member_info_xml;


    // 헤더를 설정해서 POST로 전송
    $fp = fsockopen($host, '80', $errno, $errstr, 30);

    if($fp)
    {

      $header  = "POST ".$path." HTTP/1.1\r\n";
      $header .= "Host: ".$host."\r\n";
      $header .= "User-agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)\r\n";
      $header .= "Content-type: text/html\r\n";
      $header .= "Content-length: ".strlen($xmlData)."\r\n\r\n";
      $header .= $xmlData."\r\n";

       fputs($fp, $header.$xmlData."\r\n\r\n");

       while(!feof($fp))
      {
           $result .= fgets($fp, 1024);
       }

        fclose($fp);

        echo $result; // 결과를 출력한다.

    }
    else
    {
        echo "$errstr ($errno)<br />\n";

    }

?>

 

receive.php

<?php
ini_set("always_populate_raw_post_data", "true");

$receive_xml = file_get_contents('php://input');


/*--------------------------------------
     * XML Parse - simple_XML
    ----------------------------------------*/

$dom = new DOMDocument;
$dom->loadXML($receive_xml);

if (!$dom) {
    echo 'Error while parsing the document';
    exit;
}

$XML = simplexml_import_dom($dom);

    /* $XML 은 이런 형태를 가진다.
    SimpleXMLElement Object
    (
     [userid] => deuxign
     [point] => 91035
    )
    */

    // 받은 데이터 처리
    // UTF-8을 euc-kr로 변경
$userid= iconv('UTF-8','EUC-KR',$XML->userid);
$point= iconv('UTF-8','EUC-KR',$XML->point);

 

echo "success";

?>

 

추천
1

댓글 1개

전체 2,638 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT