ごった煮RSSリーダー
2008年02月07日15:33
以前からRSSリーダーが欲しいと思っていました。
Webサイトに置いておけるようなRSSリーダーです。それが出来れば、PHPが無いような自分のブログにも、iframeタグを使って更新情報が表示できるからです。

ひとつのサイトだけではなく、色々なRSSのFeedをごった煮にして、更新時間順に並ぶものが欲しかったのです。

そして、PHPでマッシュアップを勉強してたら、なんとなく欲しかったものができました。

名付けて、ごった煮RSSリーダーです。

■表示例

ごった煮RSSリーダー
http://main.matrix.jp/gottani/



■必要なもの

<レンタルサーバー>
 おすすめ
  ・チカッパ!レンタルサーバー

  ・クリエイター向けレンタルサーバー「ヘテムル



■設置手順

http://main.matrix.jp/gottani/gottani.zip

・上記をダウンロード。


・解凍して、gottaniフォルダ内にあるindex.phpをテキストエディタで開いて、$rss_xmlのFeedの内容を自分の好きなサイトのFeedに書き換える。
 $rss_xml = array("http://www.pheedo.jp/f/gigazine_2","http://blog.livedoor.jp/dankogai/index.rdf","http://feeds.feedburner.jp/e0166","http://d.hatena.ne.jp/kokorosha/rss","http://afiliate.livedoor.biz/index.rdf"); 



・キャッシュの有効時間はデフォルトでは15分=900秒
サーバーに負担をかけたくないとか、もっと長い方がいい時はlifeTimeを増やす。
$params = array(
"cacheDir" => "./cached/",
"lifeTime" => 900
);



・他、好みでCSSを書き換えてください。


・書き換えたら、上書き保存。gottaniフォルダの名前のみ変更しても可だが、他は何もいじらずにそのまま自分のレンタルサーバーにアップロード。

http://自分のレンタルサーバーのアドレス/gottani/  へアクセス。

フォルダ名を変更した場合は、

http://自分のレンタルサーバーのアドレス/変更したフォルダ名/  へアクセス。



■ごった煮RSSリーダーの特徴など

・PEARのライブラリ、XML_RSS、XML_Parser、Cache_Liteを使用しています。
フォルダにまとめているので、これらのライブラリのインストールをしたりする手間は要りません。
しかし、逆にPEARをインストールしている方は、これらのファイルは不要です。

・RSSフィードがあんまり多いとキャッシュが無い時、表示までの時間がかかります。
Feed数は、5個くらいまでに留めてください。

・PEARライブラリのCache_Liteでキャッシュしています。
キャッシュの有効期間はデフォルトで15分=900秒です。

・RSS1.0に対応しています。(PEARライブラリ・XML_RSSの対応状況と同様だと思います)。Atomはたぶん対応していないかと思います(試していません)。

・いろいろなFeedを試しましたが、RSS2.0では表示される事はされますが、時間順に並びません。あしからずご了承ください。


■ごった煮RSSリーダーの注意点

・昨年夏頃、PHPを始めたばかりのド素人のおっさんが作ったものです。
過信されませんようご注意ください。
使用に当たっては自己責任でお願い致します。
アクセスが極端に多いサイトさまでのご使用は、サーバーに負荷がかかる可能性があり、お勧めいたしません。




■謝辞:

この「ごった煮RSSリーダー」は、ZAPA先生のマッシュアップ講座に、おしかけ女房ならぬおしかけ弟子として入門させて頂いてからPHPを、以前より理解する事が出来て、作る事ができました。
さらに、エントリでもご紹介くださり(ギークなおっさんの成長ぶりがすごい!)、大変嬉しく思っております。本当にありがとうございます。
これからも色々と参考にさせていただきたいと思います。

おしかけですが、
ふつつかな弟子をこれからもよろしくお願い致しますm(_ _)m。



<追記>

ごった煮RSSリーダーは、PHP4.4.xでも、PHP5でも動きます。
次回以降、コードの説明をしていきたいと思っています。


<さらに追記>

時間が表示されないFeedがありましたが、単にRSS2.0に対応できていなかったためのようです。エントリ内容を変更いたしました。
そういうわけで、対応はRSS1.0のみです。RSS1.0のFeedでお試しください。


clip!PHP