にゃあ

カスタムブロックを使ったキャッシュクリーナ

モジュールごとにキャッシュを削除してくれるブロックです。

俺的XOOPSだと、全てのキャッシュを丸ごと食らいつくしてしまうため、残しておきたいモジュールのキャッシュまでも無くなってしまいます。

このブロックですと、今アクセス中のモジュールだけ削除する仕組みになっているので、余計なキャッシュまで消してしまう心配は有りません。

また、好きなときにキャッシュを削除できるので、キャッシュの寿命をどんなに長くしても、コンテンツを更新したときだけクリックすれば、また新鮮な内容を反映できるわけです。

ちなみに、ブロックのキャッシュは削除できないのでご了承ください。

<?php
if( isset( $_POST['cache_clear'] ) && !empty( $_POST['cleardir'] ) ){
        if ($handle = opendir(XOOPS_CACHE_PATH)) {
                while (false !== ($fdir = readdir($handle))) { 
                        if ( $fdir != "." && $fdir != ".." ) {
                                if ( substr($fdir,strlen($fdir)-4) == "html" && $fdir != "index.html" && preg_match('/^mod_'.$_POST['cleardir'].'/', $fdir)) {
                                        unlink(XOOPS_CACHE_PATH.'/'.$fdir);
                                }
                        }
                }
        closedir($handle);
        }
        redirect_header('<a href="http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']" target="_blank">http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']</a>,3 , htmlspecialchars($_POST['cleardir']).&quot;モジュールのキャッシュのクリアをしました。&quot;);
}

global $xoopsModule;

$dirname = "";
if( is_object($xoopsModule) ){
        $dirname = $xoopsModule->getVar('dirname');
}

echo'
<form action="'.XOOPS_URL.'/modules/'.$dirname.'/" method="POST">
<div align="center">
<input type="submit" name="submit" value="キャッシュクリア" />
</div>
このモジュールのキャッシュをクリアします。
<input type="hidden" name="cache_clear" value="1" />
<input type="hidden" name="cleardir" value="'.$dirname.'" />
</form>
';

コメント&トラバ

トラックバックを送る

無関係なスパムのトラックバックを防止するため、リンク先で本サイト(suin.asia)への言及が確認されないトラックバックは破棄しています。

トラバURL : http://suin.asia/trackback/269

コメントを書く

お名前* URL
本文*
合い言葉* ←「47albosea」と入力して下さい。
* この記事の話題と関係ないコメントはどんな内容でも削除します。(移動できないので)

トラックバック

トラックバックがないのはさみしいにゃん…。

コメント

コメントはないです。誰かコメント書いてよぅ…。

このブログの著者


Suinと申します。

@suin on Twitter

サブメニュー

最近気になるモノ!

WindowsからMacに乗り換えて半年ですが、Macは細かいところまで丁寧に作られていて、親切なユーザーインターフェイスが気に入ってます。iMacはMagic Mouseと洗練されたデザインのBluetoothキーボードがついてくるので、お得だなあ、なんて思ってます。私に買ってもいいという方、いたら教えてください 笑。

最近のエントリ

XOOPS Cube Dev Ring

最近のコメント

最近のトラックバック

ひとりで喜ぶログ
デュラララに登場するチャットを再現した (04/09)
ひとりで喜ぶログ
デュラララに登場するチャットを再現した (03/28)
http://www15.atpages.jp/~classicalstudio/wordpress/?p=50
getcwd()とdirname(__FILE__)は違う結果になるときがある (12/22)
Re:
CSSのtext-align:center;は<div>には通用しない (12/15)
XOOPS専門-株式会社RYUS - d3blog
Shiori 1.02 (12/02)
9deMaio.com - blog
Koins 1.00 (11/11)
インターネット覚え書き「ビボウログ」
CSSのtext-align:center;は<div>には通用しない (09/16)
hinoeuma1966
CSSのtext-align:center;は<div>には通用しない (07/03)
Suin.org
ブログ作ってみた (03/23)
Suin.org
ブログ作ってみた (03/23)