PHP RSS订阅类

<?php
/**
* Class name: RSS
*/
class RSS {
   //public
   var $rss_ver = "2.0";
   var $channel_title = ''; //RSS频道名
   var $channel_link = '';   //RSS频道链接
   var $channel_descrīption = '';   //RSS频道描述
   var $language = 'zh_CN';  //RSS频道所使用的语言
   var $copyright = '';  
   var $webMaster = '';
   var $pubDate = '';		//RSS文档创建日期,默认为今天
   var $lastBuildDate = '';
   var $generator = 'RedFox RSS Generator';
   var $content = '';
   var $items = array();    //RSS单条信息的数组
   /**************************************************************************/
   // 函数名: RSS
   // 功能: 构造函数
   /*
     * @param string $title  RSS频道名
     * @param string $link  RSS频道链接
     * @param string $description  RSS频道描述
   /**************************************************************************/
   function RSS($title, $link, $descrīption) {
       $this->channel_title = $title;
       $this->channel_link = $link;
       $this->channel_descrīption = $descrīption;
       $this->pubDate = Date('Y-m-d H:i:s',time());
       $this->lastBuildDate = Date('Y-m-d H:i:s',time());
   }
   /**************************************************************************/
   // 函数名: AddItem
   // 功能: 添加一个节点
	/*	
	 * @param string $title  日志的标题
     * @param string $link  日志的链接
     * @param string $description  日志的摘要
     * @param string $pubDate  日志的发布日期
  	/**************************************************************************/
   function AddItem($title, $link, $descrīption ,$pubDate) {
       $this->items[] = array('title' => $title ,
                        'link' => $link,
                        'descrīption' => $descrīption,
                        'pubDate' => $pubDate);
   }
   /**************************************************************************/
   // 函数名: BuildRSS
   // 功能: 生成rss xml文件内容
   /**************************************************************************/
   function BuildRSS() {
       $s = "<?xml version='1.0' encoding='utf-8'?>
       \n<rss version=\"2.0\">\n";
       // start channel
       $s .= "<channel>\n";
       $s .= "<title><![CDATA[{$this->channel_title}]]></title>\n";
       $s .= "<link><![CDATA[{$this->channel_link}]]></link>\n";
       $s .= "<descrīption><![CDATA[{$this->channel_descrīption}]]></descrīption>\n";
       $s .= "<language>{$this->language}</language>\n";
       if (!empty($this->copyright)) {
          $s .= "<copyright><![CDATA[{$this->copyright}]]></copyright>\n";
       }
       if (!empty($this->webMaster)) {
          $s .= "<webMaster><![CDATA[{$this->webMaster}]]></webMaster>\n";
       }
       if (!empty($this->pubDate)) {
          $s .= "<pubDate>{$this->pubDate}</pubDate>\n";
       }
       if (!empty($this->lastBuildDate)) {
          $s .= "<lastBuildDate>{$this->lastBuildDate}</lastBuildDate>\n";
       }
       if (!empty($this->generator)) {
          $s .= "<generator>{$this->generator}</generator>\n";
       }
       // start items
       for ($i=0;$i<count($this->items);$i++) {
           $s .= "<item>\n";
           $s .= "<title><![CDATA[{$this->items[$i]['title']}]]></title>\n";
           $s .= "<link><![CDATA[{$this->items[$i]['link']}]]></link>\n";
           $s .= "<descrīption><![CDATA[{$this->items[$i]['descrīption']}]]></descrīption>\n";
           $s .= "<pubDate>{$this->items[$i]['pubDate']}</pubDate>\n";          
           $s .= "</item>\n";
       }
      // close channel
      $s .= "</channel>\n</rss>";
      $this->content = $s;
   }
   /**************************************************************************/
   // 函数名: Show
   // 功能: 将产生的rss内容直接打印输出
   /**************************************************************************/
   function Show() {
       if (empty($this->content)) $this->BuildRSS();
       echo($this->content);
   }
   /**************************************************************************/
   // 函数名: SaveToFile
   // 功能: 将产生的rss内容保存到文件
   // 参数: $fname 要保存的文件名
   /**************************************************************************/
   function SaveToFile($fname) {
       $handle = fopen($fname, 'wb');
       if ($handle === false) return false;
       fwrite($handle, $this->content);
       fclose($handle);
   }
   
   function getFile($fname) {
       $handle = fopen($fname, 'r');
       if ($handle === false) return false;
    while(!feof($handle)){
            echo fgets($handle);
    }
       fclose($handle);
   }
   
}
?>


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值