thinkphp5一鍵清除緩存


入口文件定義緩存文件路徑常量

define('DS', DIRECTORY_SEPARATOR);
defined('APP_PATH') or define('APP_PATH', dirname($_SERVER['SCRIPT_FILENAME']) . DS);
defined('ROOT_PATH') or define('ROOT_PATH', dirname(realpath(APP_PATH)) . DS);
defined('EXTEND_PATH') or define('EXTEND_PATH', ROOT_PATH . 'extend' . DS);
defined('VENDOR_PATH') or define('VENDOR_PATH', ROOT_PATH . 'vendor' . DS);
defined('RUNTIME_PATH') or define('RUNTIME_PATH', ROOT_PATH . 'runtime' . DS);
defined('LOG_PATH') or define('LOG_PATH', RUNTIME_PATH . 'log' . DS);
defined('CACHE_PATH') or define('CACHE_PATH', RUNTIME_PATH . 'cache' . DS); //緩存地址 cache
defined('TEMP_PATH') or define('TEMP_PATH', RUNTIME_PATH . 'temp' . DS);

 

//清除緩存
    public function clearCache()
    {
        //echo CACHE_PATH;  //緩存地址 --CACHE_PATH
        if(file_exists(CACHE_PATH)){
            $this->delDir(CACHE_PATH);
            operate_log(session('user_id'),'admin/index/clearCache','清除站點緩存',get_client_ip(),0);
            $this->success('清除成功','admin/index/index');
        }
    }


    //刪除緩存文件
    public function delDir($dirName) {
        $dh = opendir($dirName);
        //循環讀取文件
        while ($file = readdir($dh)) {
            if($file != '.' && $file != '..') {
                $fullpath = $dirName . '/' . $file;
                //判斷是否為目錄
                if(!is_dir($fullpath)) {
                    //如果不是,刪除該文件
                    if(!unlink($fullpath)) {
                        echo $fullpath . '無法刪除,可能是沒有權限!<br>';
                    }
                } else {
                    //如果是目錄,遞歸本身刪除下級目錄
                    $this->delDir($fullpath);
                }
            }
        }
        //關閉目錄
        closedir($dh);
        //刪除目錄
        //if(!rmdir($dirName)) {
        //     R('Public/errjson',array($dirName.'__目錄刪除失敗'));
        //}
    }

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM