这个过程也是相当的简单,你可以在获取在网状态之后,可以选择面板内的**清除缓存**来进行操作,当然这个需要你在你的授权程序(销售的程序)配置一些简单的代码,这个过程可能有些敏感操作,因此我们已经做出了一些安全验证(授权站主动POST该站点**系统码**以及**授权码**)参考代码如下:
```
$systemKey = $_POST['systemKey'];//远程系统码
$authKey = $_POST['authKey'];//远程授权码
if($systemKey != 这里是你在核心加载过的系统码变量 )$arr['code'] = -1;
if($authKey!= 这里是你在之前指定过的用户授权码变量 )$arr['code'] = -1;
$arr['msg'] = "安全校验失败";
//清除缓存
if (delete_dir_file( '这里是指定自己项目缓存目录,包括session目录或cache目录')) { //这里我引用一个删除的函数,当然这个函数在下方会有详细列出
$arr['code'] = 200;
$arr['msg'] = "清除成功";
} else {
$arr['code'] = -1;
$arr['msg'] = "清除失败";
}
exit(json_encode($arr));
//通过上面两个安全验证之后你可以自由发挥,根据你的项目自定义清理的方式,如果你的缓存方式不同则代码可能也不同,凡是清理成功你需要返回json类型,code=200表示成功,code=-1表示失败即可
```
我用的删除文件的函数
```
/**
* 循环删除目录和文件
* @param string $dir_name
* @return bool
*/
function delete_dir_file($dir_name) {
$result = false;
if(is_dir($dir_name)){
if ($handle = opendir($dir_name)) {
while (false !== ($item = readdir($handle))) {
if ($item != '.' && $item != '..') {
if (is_dir($dir_name . DIRECTORY_SEPARATOR . $item)) {
delete_dir_file($dir_name . DIRECTORY_SEPARATOR . $item);
} else {
unlink($dir_name . DIRECTORY_SEPARATOR . $item);
}
}
}
closedir($handle);
if (rmdir($dir_name)) {
$result = true;
}
}
}
return $result;
}
```