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 相关文章推荐
一个从别的网站抓取信息的例子(域名查询)
Oct 09 PHP
php 缓存函数代码
Aug 27 PHP
PHP 操作文件的一些FAQ总结
Feb 12 PHP
一些PHP Coding Tips(php小技巧)[2011/04/02最后更新]
May 02 PHP
php 冒泡排序 交换排序法
May 10 PHP
纯PHP生成的一个树叶图片画图例子
Apr 16 PHP
php版淘宝网查询商品接口代码示例
Jun 17 PHP
PHP简单判断字符串是否包含另一个字符串的方法
Mar 25 PHP
PHP错误处理函数register_shutdown_function使用示例
Jul 03 PHP
php+croppic.js实现剪切上传图片功能
Aug 14 PHP
Yii框架使用PHPExcel导出Excel文件的方法分析【改进版】
Jul 24 PHP
解决php写入数据库乱码的问题
Sep 17 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
php 注释规范
2012/03/29 PHP
详解PHP中的状态模式编程
2015/08/11 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
2015/12/21 PHP
浅谈PHP的反射机制
2016/12/15 PHP
PHPStudy下如何为Apache安装SSL证书的方法步骤
2019/01/23 PHP
TNC vs BOOM BO3 第三场2.13
2021/03/10 DOTA
javascript 动态加载 css 方法总结
2009/07/11 Javascript
10个基于jQuery或JavaScript的WYSIWYG 编辑器整理
2010/05/06 Javascript
JS代码放在head和body中的区别分析
2011/12/01 Javascript
javascript中的 object 和 function小结
2016/08/14 Javascript
vue loadmore组件上拉加载更多功能示例代码
2017/07/19 Javascript
详解小程序不同页面之间通讯的解决方案
2018/11/23 Javascript
使用NestJS开发Node.js应用的方法
2018/12/03 Javascript
详解webpack引用jquery(第三方模块)的三种办法
2019/08/21 jQuery
node.js域名解析实现方法详解
2019/11/05 Javascript
python生成IP段的方法
2015/07/07 Python
总结python爬虫抓站的实用技巧
2016/08/09 Python
Pycharm 操作Django Model的简单运用方法
2018/05/23 Python
python 借助numpy保存数据为csv格式的实现方法
2018/07/04 Python
python一行sql太长折成多行并且有多个参数的方法
2018/07/19 Python
python通过文本在一个图中画多条线的实例
2020/02/21 Python
Python虚拟环境的创建和包下载过程分析
2020/06/19 Python
SKECHERS官方旗舰店:美国舒适运动休闲品牌
2017/12/22 全球购物
来自世界上最好大学的在线课程:edX
2018/10/16 全球购物
LivingSocial英国:英国本地优惠
2019/02/22 全球购物
Lancer Skincare官方网站:抗衰老皮肤护理
2020/11/20 全球购物
综合管理员岗位职责
2015/02/11 职场文书
2015大学自主招生自荐信范文
2015/03/04 职场文书
个性发展自我评价2015
2015/03/09 职场文书
营运督导岗位职责
2015/04/10 职场文书
装饰施工员岗位职责
2015/04/11 职场文书
党员转正党支部意见
2015/06/02 职场文书
邓小平文选读书笔记
2015/06/29 职场文书
2016年猴年新春致辞
2015/08/01 职场文书
教师节作文之小学四年级
2019/09/03 职场文书
redis数据结构之压缩列表
2022/03/21 Redis