CACHE/*.rel,CACHE/*.refは削除される事がない?

メッセージ

多分、全てのバージョンだと思うのですが、CACHE/*.rel,CACHE/*.refは削除される事がないのではないでしょうか?そこで、official:自作プラグイン/deldel.inc.phpに存在しないページに対するCACHE/*.rel,CACHE/*.refを削除する機能を実装しました。

非常に短いコードで実装できたので、もし良ければlinksプラグインにでもマージすることを検討して頂けないでしょうか?

以下に、その機能を担当する関数を示します。

/**
 * sweap_cache();
 * キャッシュのお掃除。元ファイルの存在しないキャッシュを問答無用で削除する。
 * @return Array 削除したファイル名=>削除したファイル名をデコードしたもの
 */
function sweap_cache()
{
    $rel = get_existpages(CACHE_DIR, '.rel');
    foreach($rel as $key => $value){
        if (is_page($value)){
            continue;
        }else{
            unlink(CACHE_DIR.$key);
            $delete_rel[$key] = $value;
        }
    }
    $ref = get_existpages(CACHE_DIR, '.ref');
    foreach($ref as $key => $value){
        if (is_page($value)){
            continue;
        }else{
            unlink(CACHE_DIR.$key);
            $delete_ref[$key] = $value;
        }
    }
    natcasesort($delete_rel);
    natcasesort($delete_ref);
    return array('rel' => $delete_rel,
                 'ref' => $delete_ref);
}


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

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.233 sec.

OSDN