반응형
출처: 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 .= " "; // XML 파일이 저장될 경로 및 파일 이름을 설정한다. 나는 그냥 PHP 페이지 위치와 같게 설정했다. $dir = "/var/www/html/dictionary"; $filename = $dir."/dicXML.xml"; // XML 파일을 저장한다. 기존 파일이 이미 있다면 덮어쓰기한다. file_put_contents($filename, $xmlDoc); $db->disconnect(); ?>- "; $xmlDoc .= "
"; } $xmlDoc .= "$dicSubject "; $xmlDoc .= "$dicContent "; $xmlDoc .= "$dicRegdate "; $xmlDoc .= "$dicIp "; $xmlDoc .= "
이렇게한 뒤 해당 XML 주소로 가면 다음과 같이 XML이 정상적으로 만들어진다.
반응형