2008년 3월 19일 수요일

[강좌] php에서 rss 문서 만들기

PHP XML Library, version 1.2b
를 이용해서 간단하게 rss 를 생성하는 클래스임다.

PHP XML Library, version 1.2b 사용법은 내가 쓴 간단한 강좌 를 봐주시고~

<?
/*
rss 생성 클래스
값들을 받아와서 배열로 넘겨와서 바로 rss 문서 생성함

*/


class rssMaker{

   var $xmlDir="rss";
   var $xmlFile="rss.xml";//rss 파일 입니다.    
   
   
   var $xmlDoc,$xml;
   
   // 뿌려줄 rss 리스트 수
   var $rssMax=5;
       

   function rssMaker($f=""){
   
       if($f!="") $this->xmlFile=$f;
       
   }
   
   /*
   rss 화일을 만든다
   $d 는 배열로 값들이 넘어온다
   ex) title, channel
   
   */
   function make($d){
   
       @$fp=fopen($this->xmlDir.'/'.$this->xmlFile,"w");

       $data['rss']['channel']=$d;
       
       $xmldata = XML_serialize($data);
       $xmldata=str_replace('<rss>','<rss version="2.0">',$xmldata);
      $xmldata=str_replace('&lt;','<',$xmldata);
      $xmldata=str_replace('&gt;','>',$xmldata);
       
       if(!fwrite($fp,$xmldata)){
           $d[error]="파일 기록에서 에러가 발생했습니다.";
           return false;
       }
       return true;
   
   
   }
   
   /*
   게시판글을 뽑아와서 rss만들기..
   */
   function getBoardData($boardName){
  
    // 여기부분은 각자 상황에 맞게 하시면 됩니다.
  $datas=.....;// 게시판 내용을 불러옵니다.

  // title,link descripttion 3가지만 생성해주면 됩니다.      
       
       $r['title']=iconv("EUC-KR","UTF-8","자유게시판 테스트글 ");
       $r['link']=URL;
       $r['description']="<![CDATA[".iconv("EUC-KR","UTF-8","오우오우")."]]";
       $r['language']="ko";
//iconv 없으면 mb_convert_encoding 함수 써도 됩니다.

       $i=0;
       foreach($datas as $d){//
       
           $r['item'][$i]['title']=iconv("EUC-KR","UTF-8",$d['subject']);
           $r['item'][$i]['link']=URL."/board/";
           $r['item'][$i]['description']="<![CDATA[".iconv("EUC-KR","UTF-8",$d['massage'])."]]";

           $i++;
       }        
       
       return $r;
   
   }

}

?>



너무 급조한감이 없지않지만 , 필요할때 이리 저리 수정해서 쓰시는데 문제는 없을것같습니다만..

그러면 즐거운 주말 되세요~

그외 php와 rss 관련 사이트들
http://www-128.ibm.com/developerworks/xml/library/x-phprss/?ca=dgr-lnxw01PHP-RSS

댓글 없음: