用PHP创建RSS
如果要显示以.rdf为扩展名的RSS,您需要创建一个带有以下行的”.htaccess”文件,并将其放置在您想显示rdf的目录中。
如果想要创建“.htaccess”文件,请先将其上传至服务器,然后重命名它,这样就可以创建一个带”.”的文件。
.htaccess文件
AddType application/xml .rdf
通过使用SimpleXMLElement,您可以方便地创建RSS。这次我们是直接展示刚刚创建的RSS,但我认为也可以通过将其保存为文件然后再显示的方法来展示。如果内容没有显示出来,请尝试使用htmlspecialchars()对字符进行转义后再显示。如果要保存myblog.rdf,请在服务器的公开目录下创建rss文件夹。
rss.php的中文翻译可以是:RSS.php
<?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 ) {
// var_dump($e->getMessage());
}
?>
通过使用ob_end_clean来作为关键点,可以直接显示创建的RSS。