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(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:前台代码(有点简陋哦)
- <!--<html>
- <head>
- <title></title>
- <script language="javascript" type="text/javascript" src="__PUBLIC__/js/jquery.js"></script>
- <script type="text/javascript">
- $(function(){
- $('#button').click(function(){
- if(confirm("确认要清除缓存?")) {
- var $type=$('#type').val();
- var $mess=$('#mess');
- $.post('__URL__/cache',{type:$type},function(data){
- alert("缓存清理成功");
- });
- }else{
- return false;
- }
- });
- });
- </script>
- </head>
- <body>
- <!-- <table border="0" cellpadding="2" cellspacing="1" style="width:100%">
- <tr>
- <input type="hidden" name="type" id="type" class="text" style="width:50px" value="Cache-Data-Temp-Logs" />
- <td nowrap align="left"><input type="button" id="button" class="text" value="点击一键清除所有" /></td>
- <td id="mess"></td>
- </tr>
- </table>-->
- </body>-->
新闻热点
疑难解答
图片精选