thinkphp 删除所有缓存 Rumtime 以及 Html 静态缓存
<?php
/**
* This is not a free software, All Copyright @F.Z.B
* Date: 14-8-12 下午4:08
* File: CacheController.class.php
* Author: default.fu@foxmail.com
*/ 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 default.fu@foxmail.com
* @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;
}
版权声明:本文博客原创文章,博客,未经同意,不得转载。
thinkphp 删除所有缓存 Rumtime 以及 Html 静态缓存的更多相关文章
- ThinkPHP 3.2.3 数据缓存与静态缓存
ThinkPHP 3.2.3 中手册中数据缓存的地址是:http://www.kancloud.cn/manual/thinkphp/1835 静态缓存的地址是:http://www.kancloud ...
- thinkphp的静态缓存,数据缓存,快速缓存,查询缓存
// 静态缓存 // 'HTML_PATH' 缓存目录,这是个常量不是配置项,在入口文件中定义 // 'HTML_CACHE_ON' => true, // 开启静态缓存 'HTM ...
- Thinkphp路由配置和静态缓存规则【原创】
ThinkPHP框架对URL有一定的规范,所以如果你希望定制你的URL格式的话,就需要好好了解下内置的路由功能了,它能让你的URL变得更简洁和有文化. 首先我们在Common/config.php设置 ...
- Thinkphp 缓存和静态缓存局部缓存设置
1.S方法缓存设置 if(!$rows = S('indexBlog')){ //*$rows = S('indexBlog') $rows = D('blog')->select(); S(' ...
- thinkphp 静态缓存
要使用静态缓存功能,需要开启HTML_CACHE_ON参数,并且使用HTML_CACHE_RULES配置参数设置静态缓存规则文件 . 大理石构件厂家 虽然也可以在应用配置文件中定义静态缓存规则,但是建 ...
- thinkphp3.2开启静态缓存与缓存规则设置
网站的静态缓存对大访问量有很好的缓解作用,尤其对网站的大并发,可有效的缓解数据库的压力.在thinkphp中实现静态缓存很简单,thinkphp都已经封装好了直接调用即可. 静态缓存 首先设置 H ...
- ThinkPHP视图css和js加上版本号防止缓存
前台模块中,我的所有控制器都继承BaseController,虽然ThinkPHP中我们提供了两个配置项 'TMPL_CACHE_ON' => false,// 禁止模板编译缓存 'HTML_C ...
- thinkphp3.2----设置静态缓存
开启静态缓存后,页面刷新时获取的是静态页面,控制器增加输出内容时页面还是一样,除非超过缓存时间或html结构发生变化才重新生成页面缓存 1.定义静态缓存目录 define("HTML_PAT ...
- ThinkPHP第十九天(Ueditor高亮插件、扩展函数载入load、静态缓存)
1.使用Ueditor编辑器,插入代码后,显示的时候高亮显示,需要调用Ueditor中的第三方插件third-party中的SyntaxHighlighter 调用方法: 引入CSS和JS文件,并调用 ...
随机推荐
- JS和PHP和JAVA的正则表达式的区别(java没有分解符,java中的转义字符是\\)
JS和PHP和JAVA的正则表达式的区别(java没有分解符,java中的转义字符是\\) 一.总结 js正则:var patrn=/^[0-9]{1,20}$/; php正则:$pattern='/ ...
- Android 为开发者准备的最佳 Android 函数库(2016 年版)
本文是翻译自 CloudRAIL 的官方博客(https://cloudrail.com/best-android-libraries-for-developers/),本文中分享的 Android ...
- bash - move faster
http://teohm.com/blog/shortcuts-to-move-faster-in-bash-command-line/ Shortcuts to move faster in Bas ...
- html5-5 HTML5表单元素和内嵌框架
html5-5 HTML5表单元素和内嵌框架 一.总结 一句话总结:单选框和多选框选的时候外面加label就可以实现选后面文字也可以选中了 1.html5如何实现文件上传? 必须加上enctype ...
- 【14.06%】【hdu 5904】LCIS
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Submission ...
- hdu 1558 Segment set (并查集)
Segment set Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tota ...
- [NPM] Make npm scripts cross-environment friendly
Unfortunately not all shell commands work across various environments. Two main techniques to suppor ...
- CocoaPods详解之(二)----进阶篇
CocoaPods详解之----进阶篇 作者:wangzz 原文地址:http://blog.csdn.net/wzzvictory/article/details/19178709 转载请注明出处 ...
- svn创建版本库和删除版本库
作者:朱金灿 来源:http://blog.csdn.net/clever101 svn创建版本库的做法:使用cd命令进入版本仓库的根目录,我的是E:\Repository,然后运行命令: svnad ...
- 大型项目linux自动化版本发布脚本(shell)之tomcat、nginx服务脚本
开发十年,就只剩下这套Java开发体系了 >>> 最近,又临近博主所负责的一个大型项目的发版了.之前有提到过,该项目涉及到30-40台服务器的发版.且项目客户规定发版需在晚上10 ...