質問箱/2256

カテゴリ
サマリCGIの掲示板のカキコミ状況を表示する。
バージョン1.4.3
投稿者初心者A?
状態完了
投稿日2004-07-15 (THU) 00:52:48

質問

 この度、PukiWikiを使ってサイトを再構築させていただきました。  いままで、同一サイト内に設置しているCGIの掲示板のカキコミ状況を表示するため、「カキコチェッカ」というCGIをSSIで呼び出していました。しかし、PukiWikiを使うようになってから、SSIが使えなくなってしまいました。  PukiWikiで掲示板のログファイルの最終更新日をしらべるなど、カキコミ状況を調べることができますか?なにかいい方法があればご教授おねがいします。

回答

  • 三浦克介 2004-07-15 (THU) 09:44:34

    passthru(), system(), popen() 等の関数によりCGIを呼び出す簡単なプラグインを作るというのが、常套手段だと思います。

  • ARAI? 2004-07-15 (THU) 18:18:52

    同一サイト内とのことなので、cgiを呼び出すまでもなくfilectime()では?プログラムの実行関数が利用できるとも限りませんし。

    <?
    function plugin_filectime_inline()
    {
       list( $file, $str) = func_get_args(); 
    
       if ( !$str ) {
           $str = basename( $file);
       }
       $str = htmlspecialchars($str);
    
       if ( !($ctime = filectime($file))) {
           $str .= ' not found.';
       } else {
           $str .= date(' r', $ctime);
       }
    
       return "<span>{$str}</span>";
    }
    ?>
    最低限度のプラグインはこんな感じになるかと思います。
    &filectime(パスを含んだログファイル名[,掲示板の名称]);
    という風に使います。
  • 初心者A? 2004-07-16 (FRI) 02:08:51

    三浦克介さん、ARAIさん、ご回答ありがとうございます。なるほど、プラグインを使って実現すればよいのですね!まだ、プラグインを作ったことがないので、PHPから勉強して、ARAIさんが載せてくれたソースをもとに、付加機能を追加できるように頑張ります。(更新時間が指定時間内なら赤で表示、日本語形式での表示とか。) 他に必要としてる人がいるかわかりませんが、完成したらここに載せますね。ありがとうございました。

  • ARAI? 2004-07-16 (FRI) 21:23:11

    え~と、「ログファイルのタイムスタンプ~」に気を取られて忘れていたのですが、外部のアンテナを取りこむプラグインを使うという手もあります。はてなアンテナを使うものをここで公開中です。 → hadigestプラグイン

    現在使用しているカキコチェッカ用にこれを改造しても良いでしょう。ローカルマシンとはいえ、HTTP経由で起動したcgiの結果を取りこむよりは、filectimeで書いた方が遥かに軽いと思いますが。

    思えば、そのカキコチェッカも同一サイト内で、ファイルのタイムスタンプを直接参照出来るもの限定のアンテナのようなものですね。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-05-06 (水) 18:12:37
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u2. HTML convert time: 0.723 sec.

OSDN