使用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直接显示出来。

bannerAds