Thinkphp的缓存在开发中是非常烦人的,因为有的时候因为缓存的问题而出现的错误是非常难找的。删除缓存更是麻烦,还要去文件夹下删除、如果是linux开发服务器的话还要登陆服务器进行删除。所以这个时候用php命令删除Thinkphp的缓存是非常不错的选择。

代码: CacheAction.class.php

<?php
	class CacheAction extends CommonAction{
		//前台页面
		public function home(){
			  header("Content-type: text/html; charset=utf-8");
			  //清文件缓存
			  $dirs = array('home/Runtime/');
			  @mkdir('Runtime',0777,true);
			  //清理缓存
			  foreach($dirs as $value) {
			   $this->rmdirr($value);
			  }
			  echo '<div style="color:red;">系统缓存清除成功!</div>';   
		}
		
		
		
		//后台页面
		public function admin(){
			  header("Content-type: text/html; charset=utf-8");
			  //清文件缓存
			  $dirs = array('admin/Runtime/');
			  @mkdir('Runtime',0777,true);
			  //清理缓存
			  foreach($dirs as $value) {
			   $this->rmdirr($value);
			  }
			  echo '<div style="color:red;">系统缓存清除成功!</div>';   
		}
		
		
		
		
		
		
		
		//处理方法
		 public function rmdirr($dirname) {
		  if (!file_exists($dirname)) {
		   return false;
		  }
		  if (is_file($dirname) || is_link($dirname)) {
		   return unlink($dirname);
		  }
		  $dir = dir($dirname);
		  if($dir){
		   while (false !== $entry = $dir->read()) {
			if ($entry == '.' || $entry == '..') {
			 continue;
			}
			//递归
			$this->rmdirr($dirname . DIRECTORY_SEPARATOR . $entry);
		   }
		  }
		  $dir->close();
		  return rmdir($dirname);
		 }
	}
?>

请根据自身网站架构酌情修改代码、松林的架构是根目录下 前台文件:home、后台文件:admin。如果用的分组的话,请自己修改。

文章均属 松林's blog 原创 转载请注明转自 松林's blog

本文地址 : http://www.songlin51.com/archives/984.html