php xml파싱질문입니다. 정보
php xml파싱질문입니다.
본문
<?
// RSS 읽어오기
function getRSS($url){
$fd = fopen ($url, "r");
while (!feof ($fd)) {
$buffer.= fgets($fd,4096);
}
fclose ($fd);
$buffer = str_replace("\n","",$buffer);
return $buffer;
}
$apiURL = "http://www.naver.com/include/timesquare/widget/exchange.xml";
$content = getRSS($apiURL);
$qur = "/<currency>(.+?)<\/currency>/i";
preg_match_all($qur , $content , $itemList );
// 0번 미국
foreach($itemList[0] as $key => $val)
{
// 국가 정보 출력
$qur = "/<hname>(.+?)<\/hname>/i";
preg_match($qur, $val, $item);
printf("key:%d %s<br/>\n",$key, $item[1]);
// 환율 살때 정보
$qur = "/<buy>(.+?)<\/buy>/i";
preg_match($qur, $val, $item);
printf("key:%d %s<br/>\n",$key, $item[1]);
}
?>
요런코드를만들어서 ftp업로드 한후 해당파일을 열어보니 오류가뜨는데 이유를모르겠습니다.
도와주세욥~!
// RSS 읽어오기
function getRSS($url){
$fd = fopen ($url, "r");
while (!feof ($fd)) {
$buffer.= fgets($fd,4096);
}
fclose ($fd);
$buffer = str_replace("\n","",$buffer);
return $buffer;
}
$apiURL = "http://www.naver.com/include/timesquare/widget/exchange.xml";
$content = getRSS($apiURL);
$qur = "/<currency>(.+?)<\/currency>/i";
preg_match_all($qur , $content , $itemList );
// 0번 미국
foreach($itemList[0] as $key => $val)
{
// 국가 정보 출력
$qur = "/<hname>(.+?)<\/hname>/i";
preg_match($qur, $val, $item);
printf("key:%d %s<br/>\n",$key, $item[1]);
// 환율 살때 정보
$qur = "/<buy>(.+?)<\/buy>/i";
preg_match($qur, $val, $item);
printf("key:%d %s<br/>\n",$key, $item[1]);
}
?>
요런코드를만들어서 ftp업로드 한후 해당파일을 열어보니 오류가뜨는데 이유를모르겠습니다.
도와주세욥~!
댓글 전체
실제 소스를 확인해보니 전 잘됩니다.
php설정이 allow_url_fopen = On 인지 의문이 드네요..
phpinfo(); 먼저 확인해보시는것이 낳겠네요.
추가로 해당파일이 xml이니까 fopen으로 불러오는 것보단
php5라면 DOMXPath 로 작업하는걸 추천드립니다. 수고하세요.
php설정이 allow_url_fopen = On 인지 의문이 드네요..
phpinfo(); 먼저 확인해보시는것이 낳겠네요.
추가로 해당파일이 xml이니까 fopen으로 불러오는 것보단
php5라면 DOMXPath 로 작업하는걸 추천드립니다. 수고하세요.
소중한답변 감사드립니다. ^^ 많은 도움이되었어요~
fopen 함수를 막아두면 오류가 뜨지요.
대부분의 서버 호스팅에서는 보안을 위해 막아두더군요.
"Snoopy.class.php"를 이용하시면 아주 쉽고 재미있는 기능이 많습니다.
검색하시면 금방 찾을 수 있을 겁니다.
include "Snoopy.class.php";
$url = "http://www.naver.com/include/timesquare/widget/exchange.xml";
$snoopy = new Snoopy;
$snoopy->fetch($url);
echo $snoopy->results;
소스는 대충 이렇고요.
대부분의 서버 호스팅에서는 보안을 위해 막아두더군요.
"Snoopy.class.php"를 이용하시면 아주 쉽고 재미있는 기능이 많습니다.
검색하시면 금방 찾을 수 있을 겁니다.
include "Snoopy.class.php";
$url = "http://www.naver.com/include/timesquare/widget/exchange.xml";
$snoopy = new Snoopy;
$snoopy->fetch($url);
echo $snoopy->results;
소스는 대충 이렇고요.
좋은 팁 감사드려요~ 검색한번해봐야겠네요~감사합니다 포대장님~ 포인트를누구한테 드려야하나..ㅜㅜ
php xml파싱질문입니다.