下面thinkphp/" target="_blank">thinkphp框架教程栏目将给大家讲解thinkphp怎么实现清除缓存,希望对需要的朋友有所帮助!
thinkphp实现清除缓存
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.'\index\Runtime\\'; $runtime=$abs_dir.'\index\Runtime\~runtime.php'; if(file_exists($runtime))//判断 文件是否存在 { unlink($runtime);//进行文件删除 } //调用删除文件夹下所有文件的方法 $this->rmFile($pa,$name[$i]); } //给出提示信息 $this->ajaxReturn(null,'清除成功',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:前台代码(有点简陋哦) -->
推荐:《最新的10个thinkphp视频教程》