9月
3
2011

PHPでRSSを簡単に生成できるライブラリを紹介!

PHPでRSSフィードを生成する場合、どのようにしていますか?
XMLを直接作ることもできますが、
ここでは、簡単にRSSを作成することができるPHPライブラリ 「 Feedcreator 」 を紹介します。

ライブラリの取得

http://feedcreator.org/ より、ライブラリをダウンロードします。

利用例

ダウンロードした、ライブラリの中にある「feedcreator.class.php」を使用して、RSSを生成します。

// 初期設定
define('TIME_ZONE', '+09:00');
require_once '/path/to/feedcreator.class.php';

// 基本情報
$rss = new UniversalFeedCreator();
$rss->useCached();
$rss->title="Webランク";
$rss->description="Twitterで話題のWebサイトをランキング形式で表示";
$rss->link="http://web-rank.jp/";
$rss->syndicationURL="http://web-rank.jp/rss.php";

// データ $dataに出力するデータが2次元配列で格納されている
foreach($data as $d){
	$item = new FeedItem();
	$item->title = $d['title'];
	$item->link = 'http://web-rank.jp/' . $Ymd . '/' . $d['id'];
	$item->description = '';
	$item->date = strtotime($d['created']);
	$item->source = $d['domain'];
	$item->author = "Webランク";
	$rss->addItem($item);
}

// RSS出力
$rss->outputFeed("ATOM1.0");

// RSS保存の場合
//$rss->saveFeed("ATOM1.0",'/tmp/' . date('His'));

参考

http://labs.unoh.net/2007/06/how-to-create-rss-fee……h-php.html
http://fdays.blogspot.com/2007/06/feedcreatorclassphp.html

2 Comments + Add Comment

  • ご紹介のphpでrssを生成してみたいのですが、このfeedcreatorを呼び出して作業をするphpファイル自体は誰がよびだすのでしょうか?

    初歩的な質問で申し訳ないのですが、まだRSS生成の流れがわかっていません。

    手動で必要なときに呼び出すということでしょうか?
    cronで定期的に呼び出す設定が必要ということでしょうか?
    置いておけば勝手に動くことはないように思うのですが・・・、

    また、生成する対象はどうなるのでしょうか?
    link=の部分のドメイン全体が対象なのでしょうか?

    差支えない範囲でお教えいただければ助かります。
    よろしくお願いします。

  • >おさかしんごさん
    コメントありがとうございます。

    phpファイルを呼び出すのは、RSSリーダーです。
    RSSリーダーからリクエストがあり、サーバー上のPHPファイルが呼ばれ、RSS形式のデータを出力する流れとなります。
    そのため、cronの設定は必要ありません。

    生成されるデータは、ここではDB等に入っている記事一覧のデータ($data)を、
    RSS形式のデータに変換して出力しています。
    そのため、データ($data)は自分のサイトに合わせて用意する必要があります。
    linkの部分は、どこのサイトのRSSであるかを設定しているに過ぎません。

コメントする

メールアドレスは公開されません。

このエントリーをはてなブックマークに追加