オープンソース・ソフトウェアの開発とダウンロード

プロジェクトニュースをプロジェクトホームに取り込む方法の表示

カテゴリ(タグ)ツリー

ファイル情報

カテゴリ(タグ)
ルート
ファイル名
projectnews
最終更新
2003-02-22 00:10
種類
HTML
作成者
Yasumichi Akahoshi
概要
プロジェクトニュースをプロジェクトホームに取り込みSourceforge.jpと連携する。
言語
日本語
翻訳する

プロジェクトニュースをプロジェクトホームに取り込む方法

ニュースデータ取得のスクリプトを作成

シェルサーバで以下のようなnews.phpをホームディレクトリに作成します。

#!/usr/bin/php4

<?php
$fp = fsockopen("sourceforge.jp", 80);
if($fp)
{
// XXXをあなたのプロジェクトIDに変更
        fputs($fp, "GET /export/projnews.php?group_id=XXX&limit=5 HTTP/1.1\r\n");
        fputs($fp, "Accept: */*\r\nAccept-Language: ja\r\n");
        fputs($fp, "Host: sourceforge.jp\r\n\r\n");
        $line = fgets($fp, 1024);
        while(!preg_match("/^<!--.*-->$/", $line))
        {
                $line = fgets($fp, 1024);
        }
        $line = fgets($fp, 1024);
        while(!preg_match("/^<!--.*-->$/", $line))
        {
                $line = ereg_replace("href=\"/", "href=\"http://sourceforge.jp/", $line);
                $line = ereg_replace("HREF=\"/", "href=\"http://sourceforge.jp/", $line);
                $body .= $line;
                $line = fgets($fp, 1024);
        }
        fclose($fp);

// あなたのプロジェクトのhtdocs以下に保存して下さい。
        $fp = fopen('/home/groups/x/xx/projectname/htdocs/projnews.cache', 'w');
        fputs($fp, $body);
        fclose($fp);
}
?>

作成できたら、実行権限をつけて下さい。

定期的に実行させる。

crontab -eというコマンドで次のように編集します。

10 * * * * ~/news.php

ニュースを表示させたいページに取り込む

ここまでできたら、htdocsにできたprojnews.cacheをphpなどで読み込んで出力すれば、ニュースを取り込むことができます。