묻고답하기
스킨내부에서 외부 xml 파싱 결과 보여주기가 가능할까요?
2014.07.19 23:28
안녕하세요?
몇일 고심하다 문의 드립니다.
자바스크립트에서 xml을 파싱해서 글쓰기시 특정 내용이 나타나도록 했는데요. 그 다음 파싱한 xml내용을 수정하고, 다시 저장하는 것이 자바스크립트로는 안된다는 사실을 알게 되었습니다.
xml을 수정하고 저장하려면 php와 같은 서버측 언어로 해야한다 하여 php xml 파싱을 열심히 검색해서 일단 내용을 보여 주는 것은 성공은 했습니다.
아래 코드가 skin 폴더 안에 별도로 작성한 /modules/board/skins/sketchbook5_test/XMLProcess.php 파일의 내용입니다.
<?
$xml_string = file_get_contents('./db.xml');
$enc = mb_detect_encoding($xml_string, array('EUC-KR', 'UTF-8', 'shift_jis', 'CN-GB'));
if($enc != 'UTF-8'){
$xml_string = iconv($enc, 'UTF-8', $xml_string);
}
$xml2 = simplexml_load_string($xml_string);$abc = "저기";
for($i=0;$i<count($xml2)-1;$i++){
echo $i;echo $xml2->question[$i]->text."<br>";
}
echo $abc;
?>
절대경로로 http://url.../XMLProcess.php에 직접 접근하면.. 아래와 같이 결과가 잘 출력됩니다.
0취미 생활로 악기 연주나 음악 감상을 즐긴다.
1운동 경기를 보면 운동선수들의 장·단점을 잘 찾아낸다.
2어떤 일이든 실험하고 검증하는 것을 좋아한다.
3손으로 물건을 만들고, 그림을 그리는 것을 좋아한다.
4다른 사람보다 어휘력이 풍부한 편이다.
저기
그러나, 스킨내부에서 <include target="XMLProcess.php" /> 하면 아래와 같이 '저기' 만 출력됩니다.
저기
도대체 왜?! 스킨내부에서는 아래 구문이 동작하지 않는 것일까요?
:
echo $xml2->question[$i]->text."<br>";
전문가님들의 도움 부탁드립니다.^^
스킨 내부에서는 경로가 ./modules/.. 로 시작됨을 확인하였습니다.
해결하였네요.