21,893
社区成员




This is a generation RSS document PHP class
<?php
if (defined(’_CLASS_RSS_PHP’)) return;
define(’_CLASS_RSS_PHP’,1);
/**
* Class name: RSS
* $rss = new RSS(”Blog”,”http://www.easemarry.com/”,”EaseMarry’s Blog”);
* $rss->AddItem(”RSS Class”,”http://www.easemarry.com”,”description”,date());
* $rss->AddItem(…);
* $rss->SaveToFile(”../rss/index.xml”);
*/
class RSS {
var $rss_ver = “2.0″;
var $channel_title = ”;
var $channel_link = ”;
var $channel_description = ”;
var $language = ‘en-us’;
var $copyright = ‘easemarr.com’;
var $webMaster = ‘web@easemarry.com’;
var $pubDate = ”;
var $generator = ‘Easemarry.com’;
var $content = ”;
var $items = array();
function RSS($title, $link, $description) {
date_default_timezone_set(’GMT’);
$this->channel_title = $title;
$this->channel_link = $link;
$this->channel_description = $description;
$this->pubDate = Date(DATE_RFC822);
}
function AddItem($title, $link, $description ,$pubDate) {
$this->items[] = array(’titile’ => $title ,
‘link’ => $link,
‘description’ => $description,
‘pubDate’ => $pubDate);
}
function BuildRSS() {
$s = “<?xml version=\”1.0\” encoding=\”UTF-8\” ?>\n<rss version=\”2.0\”> \n”;
// start channel
$s .= “<channel>\n”;
$s .= “<title>$this->channel_title</title>\n”;
$s .= “<link>$this->channel_link</link>\n”;
$s .= “<description>$this->channel_description</description>\n”;
$s .= “<language>$this->language</language>\n”;
if (!empty($this->copyright)) {
$s .= “<copyright>$this->copyright</copyright>\n”;
}
if (!empty($this->webMaster)) {
$s .= “<webMaster>$this->webMaster</webMaster>\n”;
}
if (!empty($this->pubDate)) {
$s .= “<pubDate>$this->pubDate</pubDate>\n”;
}
if (!empty($this->generator)) {
$s .= “<generator>$this->generator</generator>\n”;
}
// start items
if (count($this->items)>=1){
foreach ($this->items as $key=>$value){
$s .= “<item>\n”;
$s .= “<title>”.$value[’titile’].”</title>\n”;
$s .= “<link>”.$value[’link’].”</link>\n”;
$s .= “<description>”.$value[’description’].”</description>\n”;
$s .= “<pubDate>”.$value[’pubDate’].”</pubDate>\n”;
$s .= “<guid isPermaLink=\”true\”>”.$value[’link’].”</guid>”;
$s .= “</item>\n”;
}
}
// close channel
$s .= “</channel>\n</rss>”;
$this->content = $s;
}
function Show() {
if (empty($this->content)) $this->BuildRSS();
header(’Content-type:text/xml’);
echo($this->content);
}
function SaveToFile($fname) {
if (empty($this->content)) $this->BuildRSS();
$handle = fopen($fname, ‘wb’);
if ($handle === false) {
return false;
}else{
fwrite($handle, $this->content);
fclose($handle);
return true;
}
}
}
?>