이 글에서는 ThinkPHP의 원클릭 캐시 삭제 방법을 주로 소개합니다. 필요하신 분들은 참고하시면 됩니다.
많은 오픈소스 cms 시스템에는 부담을 줄이기 위해 캐시를 생성하는 기능이 있습니다. 하지만 동시에 캐시의 존재로 인해 일부 데이터가 실시간으로 업데이트되지 않을 수도 있습니다. 이를 위해 ThinkPHP 캐시 지우기 기능을 구현하겠습니다. 코드는 다음과 같습니다.
ThinkPHP 백그라운드 실행 코드:
//获取要清楚的目录和目录所在的绝对路径 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.'indexRuntime'; $runtime=$abs_dir.'indexRuntime~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); } } }
프런트 엔드 페이지 코드는 다음과 같습니다.
<script type="text/javascript" src="__PUBLIC__/admin/js/jquery.js"></script> <script type="test/javascript"> $(function(){ $('#button').click(function(){ if(confirm("确认要清除缓存?")){ var $type=$('#type').val(); var $mess=$('#mess'); $.post('__URL__/clear',{type:$type},function(data){ alert("缓存清理成功"); }); }else{ return false; } }); }); </script>
관련 권장 사항:
ThinkPHP는 크로스 모드를 구현합니다. 울 call
ThinkPHP 구현 업데이트 데이터 인스턴스에 대한 자세한 설명(데모)
위 내용은 ThinkPHP는 원클릭 캐시 삭제 방법을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!