<?php /** * This is not a free software, All Copyright @F.Z.B * Date: 14-8-12 下午4:08 * File: CacheController.class.php * Author: [email protected] */ namespace Api\Controller; class CacheController extends InitController { public function cleanAll() { $this->totalSize = 0; $this->totalFile = 0; $GLOBALS[‘arrFiles‘] = $GLOBALS[‘arrDirs‘] = array(); $this->dropDir(HTML_PATH); $this->dropDir(RUNTIME_PATH); //ThinkPHP 3.2 不会自动生成Html缓存目录 if (!is_dir(HTML_PATH)) mkdir(HTML_PATH); $data = array( ‘totalFile‘ => $this->totalFile, ‘totalSize‘ => byte_format($this->totalSize), ‘arrFiles‘ => $GLOBALS[‘arrFiles‘], ‘arrDirs‘ => $GLOBALS[‘arrDirs‘], ‘result‘ => 1, ‘reqtime‘ => date(‘Y-m-d H:i:s‘), ); $returnType = I(‘type‘) == ‘JSON‘ ? ‘JSON‘ : ‘JSONP‘; $this->ajaxReturn($data, $returnType); } public function dropDir($path = ‘‘) { $path = trimRepeatSlash($path); if (is_file($path)) { $this->totalSize += filesize($path); $this->totalFile++; $GLOBALS[‘arrFiles‘][] = $path; unlink($path); } else if (is_dir($path)) { if (($dir = opendir($path)) !== false) { while (($file = readdir($dir)) !== false) { if ($file != ‘.‘ && $file != ‘..‘) { $this->dropDir($path . ‘/‘ . $file); } } $GLOBALS[‘arrDirs‘][] = $path; rmdir($path); } } } } #thinkphp3.2.x设置缓存开启#<?php return array( //‘配置项‘=>‘配置值‘ ‘LAYOUT_ON‘ => true, ‘HTML_CACHE_ON‘ => strpos($_SERVER[‘HTTP_HOST‘], ‘.‘) !== false, // 开启静态缓存 默认为 true 本地不开启 ‘HTML_CACHE_TIME‘ => 3600, // 全局静态缓存有效期(秒) ‘HTML_FILE_SUFFIX‘ => ‘.shtml‘, // 设置静态缓存文件后缀 ‘HTML_CACHE_RULES‘ => array( ‘*‘ => array(‘{:module}/{:controller}/{:action}/{$_SERVER.REQUEST_URI|md5}‘, 3600, ‘trimSW‘), ) );#trimSW函数#
/** * @author [email protected] * @description 去除 空格 和非\w 字符串,用于cache 配置 * * @param $str * @param string $emptyValue * * @return mixed|string */ function trimSW($str, $emptyValue = ‘_empty_‘) { $str = preg_replace(‘/([^\w\/]+)/‘, ‘-‘, $str); if (empty($str)) { $str = $emptyValue; } return $str; }
时间: 2024-10-28 15:01:33