首页 > 语言 > PHP > 正文

PHP RSS 生成类

2024-09-04 11:44:06
字体:
来源:转载
供稿:网友

同时也可以用网页来解析xml文档,PHP RSS 生成类实例代码如下:

  1. <?php 
  2. if (defined('_class_rss_php')) return
  3. define('_class_rss_php教程',1); 
  4. /** 
  5.  
  6.  *  使用说明: 
  7.  *  $rss = new rss('redfox','http://Vevb.com/',"redfox's blog"); 
  8.  *  $rss->additem('rss class',"http://www.Vevb.com","xxx",date()); 
  9.  *  $rss->additem(...); 
  10.  *  $rss->savetofile(...); 
  11.  */ 
  12.  
  13. class rss { 
  14.    //public 
  15.    $rss_ver = "2.0"
  16.    $channel_title = ''
  17.    $channel_link = ''
  18.    $channel_description = ''
  19.    $language = 'zh_cn'
  20.    $copyright = ''
  21.    $webmaster = ''
  22.    $pubdate = ''
  23.    $lastbuilddate = ''
  24.    $generator = 'redfox rss generator'
  25.  
  26.  
  27.    $content = ''
  28.    $items = array(); 
  29.  
  30.  
  31.    function rss($title$link$description) { 
  32.        $this->channel_title = $title
  33.        $this->channel_link = $link
  34.        $this->channel_description = $description
  35.        $this->pubdate = date('y-m-d h:i:s',time()); 
  36.        $this->lastbuilddate = date('y-m-d h:i:s',time()); 
  37.    } 
  38.  
  39.  
  40.    function additem($title$link$description ,$pubdate) { 
  41.        $this->items[] = array('titile' => $title , 
  42.                         'link' => $link
  43.                         'description' => $description
  44.                         'pubdate' => $pubdate); 
  45.    } 
  46.  
  47.  
  48.    function buildrss() { 
  49.        $s = "<!--l version="1.0" encoding="gb2312"--> "
  50.        // start channel 
  51.        $s .= " "
  52.        $s .= " " 
  53.        $s .= "<link />{$this->channel_link} "
  54.        $s .= "{$this->channel_description} "
  55.        $s .= "{$this->language} "
  56.        if (!emptyempty($this->copyright)) { 
  57.           $s .= "{$this->copyright} "
  58.        } 
  59.        if (!emptyempty($this->webmaster)) { 
  60.           $s .= "{$this->webmaster} "
  61.        } 
  62.        if (!emptyempty($this->pubdate)) { 
  63.           $s .= "{$this->pubdate} "
  64.        } 
  65.  
  66.  
  67.        if (!emptyempty($this->lastbuilddate)) { 
  68.           $s .= "{$this->lastbuilddate} "
  69.        } 
  70.  
  71.  
  72.        if (!emptyempty($this->generator)) { 
  73.           $s .= "{$this->generator} "
  74.        } 
  75.        
  76.        // start items 
  77.        for ($i=0;$iitems),$i++) { 
  78.            $s .= " "
  79.            $s .= " "
  80.            $s .= "<link />{$this->items[$i]['link']} "
  81.            $s .= "<!--data[{$thi-->items[$i]['description']}]]> "
  82.            $s .= "{$this->items[$i]['pubdate']} ";           
  83.            $s .= " "
  84.        } 
  85.       
  86.       // close channel 
  87.       $s .= " "
  88.       $this->content = $s
  89.    } 
  90.  
  91.  
  92.    function show() { 
  93.        if (emptyempty($this->content)) $this->buildrss(); 
  94.        header('content-type:text/xml'); 
  95.        echo($this->content); 
  96.    } 
  97. //开源代码Vevb.com 
  98.  
  99.    function savetofile($fname) { 
  100.        if (emptyempty($this->content)) $this->buildrss(); 
  101.        $handle = fopen($fname'wb'); 
  102.        if ($handle === false)  return false; 
  103.        fwrite($handle$this->content); 
  104.        fclose($handle); 
  105.    } 
  106.  
  107. ?> 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表