這個過程也是相當的簡單,你可以在獲取在網狀態之后,可以選擇面板內的**清除緩存**來進行操作,當然這個需要你在你的授權程序(銷售的程序)配置一些簡單的代碼,這個過程可能有些敏感操作,因此我們已經做出了一些安全驗證(授權站主動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;
}
```