dedecms有清除缓存的功能于是下功夫去研究了一下,结果弄的我云里雾里,嗨....结果自己在网上查了一下,按照网站的自己写了一个清除缓存的功能.
tp执行代码:
- //是获取要清楚的目录和目录所在的绝对路径
- 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);
- }
- }
- }
tp:前台代码(有点简陋哦)