【原创】 一键删除缓存
栏目:PHP  作者:隆航  阅读:(1107)

在项目中关闭了调试模式之后,对视图文件的修改不删除缓存无法生效。

这里给大家分享一个一键删除缓存的功能

首先是在系统的控制器中添加操作方法:

public function cache_cleanAction() {
echo "缓存清理中……<br/>";
$path = RUNTIME_PATH . "Cache/";//删除缓存目录
echo delCache($path);//调用函数删除缓存
echo "<br/>缓存清理完毕。";
}

现在是调用函数:

/**
* 删除目录及目录下所有文件或删除指定文件
* @param str $path   待删除目录路径
* @param int $delDir 是否删除目录,1或true删除目录,0或false则只删除文件保留目录(包含子目录)
* @return bool 返回删除状态
*/
function delCache($path, $delDir = FALSE) {
$message = "";
$handle = opendir($path);//打开目录
if ($handle) {
while (false !== ( $item = readdir($handle) )) {//判断目录
if ($item != "." && $item != "..") {
if (is_dir("$path/$item")) {
$msg = delCache("$path/$item", $delDir);//循环调用
if ( $msg ){
$message .= $msg;
}
} else {
$message .= "删除文件" . $item;
if (unlink("$path/$item")){
$message .= "成功<br />";
} else {
$message .= "失败<br />";
}
}
}
}
closedir($handle);
if ($delDir){
if ( rmdir($path) ){
$message .= "删除目录" . dirname($path) . "<br />";
} else {
$message .= "删除目录" . dirname($path) . "失败<br />";
}
}
} else {
if (file_exists($path)) {
if (unlink($path)){
$message .= "删除文件" . basename($path) . "<br />";
} else {
$message .= "删除文件" + basename($path) . "失败<br />";
}
} else {
$message .= "文件" + basename($path) . "不存在<br />";
}
}
return $message;
}

函数参考的是thinkphpadmin的删除缓存,记得给予权限;

千万记住。如果输入的目录为错误的。那么默认是.开始,也就是会清空你的项目文件。并且在回收站是没有的!



昵称
邮箱
域名
  记住 通知博主
验证码

  程序相关

站点版本:青春博客-V 2.1.0

开源版本:青春博客-Beta v2.0

 下载  在线支付  在线工具  在线音乐

  随机文章