用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。

广告
将在 10 秒后关闭
bannerAds