PHP

xml 받아와서 파일로 저장, 사용하기

먹세 2013. 4. 4. 18:05

php에서 파일을 저장하거나 읽을때,

file_get_contents , file_put_contents, simplexml_load_string

등과 같은 좋은 함수를 제공하니 이것을 적당히 사용해주면 된다.


<?

$result = file_get_contents('http://.....xml');

//$xml = simplexml_load_string($result);  // XML 을 파싱

//echo '<xmp>'.print_r($xml,1).'</xmp>'; // XML 보기좋게 출력

file_put_contents('/home/경로/file.xml',$result);  

chmod('/home/경로/file.xml',0777);

?>


crontab 사용을 위해 파일 저장경로를 절대경로로 세팅하고, 권한설정도 해줬다.


위에서 저장한 xml파일을 웹페이지 내에서 사용할 때,

// xml 배열생성

function objectsIntoArray($arrObjData, $arrSkipIndices = array())

{

    $arrData = array();

    

    // if input is object, convert into array

    if (is_object($arrObjData)) {

        $arrObjData = get_object_vars($arrObjData);

    }

    

    if (is_array($arrObjData)) {

        foreach ($arrObjData as $index => $value) {

            if (is_object($value) || is_array($value)) {

                $value = objectsIntoArray($value, $arrSkipIndices); // recursive call

            }

            if (in_array($index, $arrSkipIndices)) {

                continue;

            }

            $arrData[$index] = $value;

        }

    }

    return $arrData;

}



$result = file_get_contents('./file.xml');

$loadxml = simplexml_load_string($result); 

$xmldata = objectsIntoArray($loadxml);


/*

echo "<xmp>";

print_r($xmldata['@attributes']['title']); //제목

print_r($xmldata['list'][0]['name']); //이름

echo "</xmp>";

*/

?>




반응형

'PHP' 카테고리의 다른 글

다중 셀렉트(배열이용)  (0) 2013.04.05
그누보드 로그인세션 공유  (0) 2013.04.05
php로 pdf 파일 다운로드 구현  (0) 2013.04.05
게시판 페이징 구현  (2) 2013.04.05
워터마크 삽입  (0) 2013.04.05