使用PHP创建RSS
如果要显示RDF扩展名的RSS,请创建包含以下行的”.htaccess”文件,并将其放置在要显示的RDF目录中。
如果要创建”.htaccess”文件,请将其上传到服务器上,然后重命名即可创建带有”.”的文件。
AddType application/xml .rdf
使用SimpleXMLElement可以轻松创建RSS。
在这个例子中,我们立即显示所创建的RSS,但也可以通过将其保存为文件然后再显示的方法来实现。
如果没有显示,请尝试使用htmlspecialchars()函数转义字符后再显示。
如果要保存myblog.rdf文件,请在服务器的公共目录下创建一个名为rss的文件夹。
<?php
try{
$RSS = <<<EOT
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<language>ja</language>
</channel>
</rss>
EOT;
$rssFileName = 'myblog.rdf';
$XML = new SimpleXMLElement($RSS);
$XML->channel->addChild('title', "ブログタイトル!");
$XML->channel->addChild('link', 'http://' . $_SERVER['HTTP_HOST'] . '/rss/' . $rssFileName);
$XML->channel->addChild('description', "ブログの更新情報です");
$item = $XML->channel->addChild('item');
$item->addChild('title', "記事タイトル");
$item->addChild('link', 'http://' . $_SERVER['HTTP_HOST'] . "/page/mypage.html");
$item->addChild('category', "カテゴリ");
$item->addChild('description', "記事についての説明");
$item->addChild('content', "記事の中身");
$item->addChild('date', date('Y-m-d H:i:s'));
header('Content-Type: text/xml');
ob_end_clean();
echo $XML->asXML();
$file = fopen($_SERVER['DOCUMENT_ROOT'] . '/rss/' . $rssFileName, "w");
fwrite($file, $XML->asXML());
fclose($file);
}catch ( Exception $e ) {
}
?>
您可以通过使用ob_end_clean来将已创建的RSS直接显示出来。