ThinkPHP实现一键清除缓存方法


Posted in PHP onJune 26, 2014

很多的开源cms系统都有一键清除缓存的功能,缓存是为了减轻服务器的压力而产生的,但是同时有缓存的存在也可能使一些数据不能实时更新,对此,我们就来实现一个ThinkPHP的清理缓存的功能。代码如下:

ThinkPHP后台执行的代码:

//获取要清楚的目录和目录所在的绝对路径
 public function cache(){
  ////前台用ajax get方式进行提交的,这里是先判断一下
  if($_POST['type']){
   //得到传递过来的值
   $type=$_POST['type'];
   //将传递过来的值进行切割,我是用“-”进行切割的
   $name=explode('-', $type);
   //得到切割的条数,便于下面循环
   $count=count($name);
   //循环调用上面的方法
   for ($i=0;$i<$count;$i++){
    //得到文件的绝对路径
    $abs_dir=dirname(dirname(dirname(dirname(__FILE__))));
    //组合路径
    $pa=$abs_dir.'indexRuntime';
    $runtime=$abs_dir.'indexRuntime~runtime.php';
    if(file_exists($runtime))//判断 文件是否存在
    {
     unlink($runtime);//进行文件删除
    }
 //调用删除文件夹下所有文件的方法
    $this->rmFile($pa,$name[$i]); 
   }
   //给出提示信息
   $this->ajaxReturn(1,'清除成功',1);
  }else{
   $this->display();
  }
 }
 public function rmFile($path,$fileName){//删除执行的方法
  //去除空格
  $path = preg_replace('/(/){2,}|{}{1,}/','/',$path); 
  //得到完整目录 
  $path.= $fileName;
  //判断此文件是否为一个文件目录
  if(is_dir($path)){
   //打开文件
   if ($dh = opendir($path)){
    //遍历文件目录名称
     while (($file = readdir($dh)) != false){
      //逐一进行删除
      unlink($path.''.$file);
      }
      //关闭文件
      closedir($dh);
    } 
   }
 }

前台页面部分代码如下:

<script type="text/javascript" src="__PUBLIC__/admin/js/jquery.js"></script>
<script type="test/javascript">
$(function(){
$('#button').click(function(){
if(confirm("确认要清除缓存?")){
var $type=$('#type').val();
var $mess=$('#mess');
$.post('__URL__/clear',{type:$type},function(data){
alert("缓存清理成功");
});
}else{
return false;
}
});
});
</script>
PHP 相关文章推荐
php 引用(&amp;)详解
Nov 20 PHP
PHP操作数组的一些函数整理介绍
Jul 17 PHP
PHP文件操作实现代码分享
Sep 01 PHP
SESSION信息保存在哪个文件目录下以及能够用来保存什么类型的数据
Jun 17 PHP
PHP IE中下载附件问题解决方法
Jan 07 PHP
php中Socket创建与监听实现方法
Jan 05 PHP
php计算两个坐标(经度,纬度)之间距离的方法
Apr 17 PHP
php三种实现多线程类似的方法
Oct 30 PHP
PHP中静态变量的使用方法实例分析
Dec 01 PHP
Laravel timestamps 设置为unix时间戳的方法
Oct 11 PHP
laravel5.6 框架操作数据 Eloquent ORM用法示例
Jan 26 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
Feb 27 PHP
destoon实现商铺管理主页设置增加新菜单的方法
Jun 26 #PHP
destoon在360浏览器下出现用户被强行注销的解决方法
Jun 26 #PHP
实现在同一方法中获取当前方法中新赋值的session值解决方法
Jun 26 #PHP
PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
Jun 26 #PHP
php采用curl访问域名返回405 method not allowed提示的解决方法
Jun 26 #PHP
兼容PHP和Java的des加密解密代码分享
Jun 26 #PHP
Thinkphp使用mongodb数据库实现多条件查询方法
Jun 26 #PHP
You might like
基于OpenCV的PHP图像人脸识别技术
2009/10/11 PHP
PHP通用检测函数集合
2011/02/08 PHP
使用php get_headers 判断URL是否有效的解决办法
2013/04/27 PHP
PHP中的日期加减方法示例
2014/08/21 PHP
php的curl封装类用法实例
2014/11/07 PHP
PHP动态输出JavaScript代码实例
2015/02/12 PHP
js实现广告漂浮效果的小例子
2013/07/02 Javascript
JQuery实现鼠标滑过显示导航下拉列表
2013/09/12 Javascript
JavaScript学习笔记之JS函数
2015/01/22 Javascript
jQuery实现仿百度帖吧头部固定导航效果
2015/08/07 Javascript
javascript中对象的定义、使用以及对象和原型链操作小结
2016/12/14 Javascript
jquery操作select取值赋值与设置选中实例
2017/02/28 Javascript
详解用vue-cli来搭建vue项目和webpack
2017/04/20 Javascript
JS实现求数组起始项到终止项之和的方法【基于数组扩展函数】
2017/06/13 Javascript
微信小程序实现上传图片功能
2018/05/28 Javascript
node微信开发之获取access_token+自定义菜单
2019/03/17 Javascript
layui 关闭open弹出框 刷新table表格页面的方法
2019/09/16 Javascript
JS回调函数深入理解
2019/10/16 Javascript
在Python的struct模块中进行数据格式转换的方法
2015/06/17 Python
python中numpy基础学习及进行数组和矢量计算
2017/02/12 Python
Python语言实现将图片转化为html页面
2017/12/06 Python
PyQt5每天必学之弹出消息框
2018/04/19 Python
python pandas中对Series数据进行轴向连接的实例
2018/06/08 Python
python实现的读取网页并分词功能示例
2019/10/29 Python
调用其他python脚本文件里面的类和方法过程解析
2019/11/15 Python
Python 利用OpenCV给照片换底色的示例代码
2020/08/03 Python
高清安全摄像头系统:Lorex Technology
2018/07/20 全球购物
社区志愿者心得体会
2014/01/03 职场文书
村干部培训班主持词
2014/03/28 职场文书
廉洁教育学习材料
2014/05/19 职场文书
优秀会计求职信
2014/07/04 职场文书
中韩经贸翻译专业大学生职业生涯规划范文
2014/09/18 职场文书
泸县召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
2015年乡镇平安建设工作总结
2015/05/13 职场文书
仅用一句SQL更新整张表的涨跌幅、涨跌率的解决方案
2021/05/06 MySQL
Python中glob库实现文件名的匹配
2021/06/18 Python