PHP生成RSS文件类实例

  本文实例讲述了PHP生成RSS文件类文件。分享给大家供大家参考。具体如下:

  PHP RSS 生成类实例代码如下:

  

复制代码 代码如下:
<?php

  if (defined('_class_rss_php')) return;

  define('_class_rss_php教程',1);

  /**

  *  使用说明:

  *  $rss = new rss('redfox','http://glzy8.com/',"redfox's blog");

  *  $rss->additem('rss class',"http://www.glzy8.com","xxx",date());

  *  $rss->additem(...);

  *  $rss->savetofile(...);

  */

  class rss {

  //public

  $rss_ver = "2.0";

  $channel_title = '';

  $channel_link = '';

  $channel_description = '';

  $language = 'zh_cn';

  $copyright = '';

  $webmaster = '';

  $pubdate = '';

  $lastbuilddate = '';

  $generator = 'redfox rss generator';

  $content = '';

  $items = array();

  function rss($title, $link, $description) {

  $this->channel_title = $title;

  $this->channel_link = $link;

  $this->channel_description = $description;

  $this->pubdate = date('y-m-d h:i:s',time());

  $this->lastbuilddate = date('y-m-d h:i:s',time());

  }

  function additem($title, $link, $description ,$pubdate) {

  $this->items[] = array('titile' => $title ,

  'link' => $link,

  'description' => $description,

  'pubdate' => $pubdate);

  }

  function buildrss() {

  $s = "<!--l version="1.0" encoding="gb2312"--> ";

  // start channel

  $s .= " ";

  $s .= " "

  $s .= "<link />{$this->channel_link} ";

  $s .= "{$this->channel_description} ";

  $s .= "{$this->language} ";

  if (!emptyempty($this->copyright)) {

  $s .= "{$this->copyright} ";

  }

  if (!emptyempty($this->webmaster)) {

  $s .= "{$this->webmaster} ";

  }

  if (!emptyempty($this->pubdate)) {

  $s .= "{$this->pubdate} ";

  }

  if (!emptyempty($this->lastbuilddate)) {

  $s .= "{$this->lastbuilddate} ";

  }

  if (!emptyempty($this->generator)) {

  $s .= "{$this->generator} ";

  }

  // start items

  for ($i=0;$iitems),$i++) {

  $s .= " ";

  $s .= " ";

  $s .= "<link />{$this->items[$i]['link']} ";

  $s .= "<!--data[{$thi-->items[$i]['description']}]]> ";

  $s .= "{$this->items[$i]['pubdate']} ";

  $s .= " ";

  }

  // close channel

  $s .= " ";

  $this->content = $s;

  }

  function show() {

  if (emptyempty($this->content)) $this->buildrss();

  header('content-type:text/xml');

  echo($this->content);

  }

  function savetofile($fname) {

  if (emptyempty($this->content)) $this->buildrss();

  $handle = fopen($fname, 'wb');

  if ($handle === false)  return false;

  fwrite($handle, $this->content);

  fclose($handle);

  }

  }

  ?>

  希望本文所述对大家的PHP程序设计有所帮助。