php のライブラリーに PEAR(PHP Extension and Application Repository)というのがあり、これを使うと Blog の rdf や rss ファイルを web ページに表示できるらしい。つまり自分の気にいった Blog サイトの更新情報や、DION その他の Blog 情報サイトに寄せられるたくさんのサイトの新着情報を自分の web ページに表示できたり、ということです。m(^^)m
実際には php のスクリプトを使っているので、拡張子が .php のファイルでないと表示できません。それでインラインフレームなんぞを使って表示させる訳です。そのインラインフレームは、CGI の使えないサーバに置いてあるファイルにも使えるのですが、インラインフレームを使って表示させる元の php ファイルは、php が使えて、PEAR の XML_RSS がインストールされているサーバに置いてないとだめです。XML_RSS をインストールできないレンタルサーバでは、php さえ使えれば、php のスクリプトファイルと同じディレクトリに PEAR.phpを置き、同ディレクトリに XML ディレクトリを作ってその中に RSS.php、Parser.php を置いても機能するよう?です。(試してない(^^;))
ここからの話は、わたしの自宅サーバの環境下(FreeBSD/4.9 Apache/2.0.48 PHP/5.0.0b4)でのお話だと思って読んでください。PEAR は、PHPをインストールした時点で同時にインストールされているので改めてインストールする必要はないのですが、XML_RSS はそのままではインストールされていません。と言っても、
# pear install xml_tree
# pear install xml_rss
のふたつのコマンドで簡単にインストールできます。最初「Do You PHP?」さんのサイトの解説通りに
# pear install xml_rss
と打って失敗してしまいました。まず、
# pear install xml_tree
と打ってから xml_rss のインストールをしましょう。(^^;)
で後は下記のスクリプト(これは「レッツ PHP!」さんが公開されているものに少し手を加えたものです)
rdf や rss ファイルを web ページに表示するための php スクリプト
をサーバにアップし、アドレスのお尻にお目当ての rdf や rss ファイルのアドレスを引数としてつけてあげればOKです。と言いたいのですが、実はここから見事にはまってしまいました。(^^;)
丸一日ちょっと悩んでしまいました。上手くリンクは表示されるのですが、文字が「 ????????????? 」となってしまうのです。わたしのサーバは php ファイルは euc-jp で表示されるよう php.ini で設定しているのですが、それを色々変えてみたりしましたがだめでした。で、「XML_RSS RSS」でネット検索したところ、「Do You PHP?」さんの掲示板のハンドルネーム広島県人@埼玉在住さんの書き込みにたどりつきました。
>とりあえず、RSS.phpの130行目あたりにある
> $this->XML_Parser();
>を
> $this->XML_Parser('utf-8');
>としてみてはどうでしょうか?PEAR自体に手を入れるのは何ですが、
>とりあえず動くようです。
理由は詳しくは分からなかったのですが、ダメ元じゃ?とばかりまずローカルで試してみました。「ありゃりゃ」なんと上手く表示されるではないですか。「やった?!」です。
求めよ! さらば与えられん。m(^^)m
/blog/rss.php?u=http://blog.dion.ne.jp/xml/recent_article.rdf
※ 現在当 Blog ページ右下にインラインフレームを使用して表示させています。一定間隔(DION の新着情報の更新は10分間隔でしょうか)で新しいものに更新されます。
コメント