반응형

출처: http://egloos.zum.com/qwertystar/v/844677


MySQL DB에 저장된 웹으로 데이터를 뿌려줄려고 하니

가장 좋은 방법이 XML로 보내는 거라는 정보를 찾았다.

표준이다보니 이기종 간에도 전송이 가능하다니 , 그래서 나도 XML을 이용하기로 했다.


요번 기회에 PHP도 어떤지 한 번 이용해보고 싶었기 때문에 PHP를 이용하여 작성했다.


내 개발환경은 다음과 같다. OS만 리눅스라는 점만 빼면 위의 링크와 크게 다를 바 없다.

OS: CentOS 6.6 32bit

웹 서버: Apache 2.2

PHP: 5.4.45

DB: MariaDB 10.0.17


PHP 페이지는 다음과 같이 작성했다.

위의 것과 크게 다른 것이 없으니 위의 링크도 보는 것을 추천한다.


// dbInfo.php
// DB 연결을 위한  정보 포함
 


// dbConnect.php
// DB 연결을 위한 페이지


// sendXML.php
// XML을 만드는 페이지
connect();

        // $searchField = "subject";
        // $searchWord = "aaa";

        $sql = "select * from dictionary;";
        //PHP에서는 문자열 안에 변수명을 집어넣으면 알아서 변수로 인식한다.
        // $sql = "select * from dictionary where $searchField like '%$searchWord%';";

        // 쿼리 결과를 받아온다.
        $result = mysql_query($sql);

        // .= 연산자를 이용해 문자열을 합친다.
        $xmlDoc = "

"; // XML 선언부 $xmlDoc .= "

"; // 쿼리 결과에서 컬럼명을 이용해 컬럼 값을 가져온다. while ($obj = mysql_fetch_object($result)) { $dicSubject = $obj->subject; $dicContent = $obj->content; $dicRegdate = $obj->regdate; $dicIp = $obj->ip; // 어차피 브라우저에서 보면 예쁘게 잘 나오기 때문에 개행문자는 붙이지 않았다. // 모바일의 경우 데이터 사용량을 줄이기 위해 조금이라도 용량을 줄이는 것이 낫고, // 파싱 시 개행문자로 인한 오작동도 줄일 수 있다. $xmlDoc .= ""; $xmlDoc .= "$dicSubject"; $xmlDoc .= "$dicContent"; $xmlDoc .= "$dicRegdate"; $xmlDoc .= "$dicIp"; $xmlDoc .= ""; } $xmlDoc .= ""; // XML 파일이 저장될 경로 및 파일 이름을 설정한다. 나는 그냥 PHP 페이지 위치와 같게 설정했다. $dir = "/var/www/html/dictionary"; $filename = $dir."/dicXML.xml"; // XML 파일을 저장한다. 기존 파일이 이미 있다면 덮어쓰기한다. file_put_contents($filename, $xmlDoc); $db->disconnect(); ?>

이렇게한 뒤 해당 XML 주소로 가면 다음과 같이 XML이 정상적으로 만들어진다.

반응형
Posted by 애콜라이트
l

free counters