TP5(thinkPHP框架)實現後臺清除緩存功能示例

這篇文章主要介紹了TP5(thinkPHP框架)實現後臺清除緩存功能,結合實例形式分析了thinkPHP5結合layui插件實現後臺緩存清除相關的文件遍歷、刪除等操作技巧,需要的朋友可以參考下

本文實例講述了TP5(thinkPHP框架)實現後臺清除緩存功能。分享給大家供大家參考,具體如下:

layui插件 http://www.layui.com/

1--common的文件

/**
 * 循環刪除目錄和文件
 * @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 . DS . $item)) {
            delete_dir_file($dir_name . DS . $item);
          } else {
            unlink($dir_name . DS . $item);
          }
        }
      }
      closedir($handle);
      if (rmdir($dir_name)) {
        $result = true;
      }
    }
  }
  return $result;
}

2-控制器裏的

/**
* 清除緩存
*/
public function clear() {
    if (delete_dir_file(CACHE_PATH) || delete_dir_file(TEMP_PATH)) {
      $this->success('清除緩存成功');
    } else {
      $this->error('清除緩存失敗');
    }
}

3-html代碼

<a href="javascript::void(0)" rel="external nofollow" onclick="clearPhp(this)" data-GetUrl="{:url('login/clear')}">清楚緩存</a>

4---js 代碼

<script>
  function clearPhp(obj) {
    var url=obj.getAttribute('data-GetUrl');
    //詢問框
    layer.confirm('您確定要清除嗎?', {
          btn: ['確定','取消'] //按鈕
        },
        function(){
          $.get(url,function(info){
            if(info.code === 1){
              setTimeout(function () {location.href = info.url;}, 1000);
            }
            layer.msg(info.msg);
          });
        },
        function(){});
  }
</script>

更多的功能和插件  地址:https://www.kancloud.cn/he_he/thinkphp5

更多關於thinkPHP相關內容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結》、《ThinkPHP常用方法總結》、《codeigniter入門教程》、《CI(CodeIgniter)框架進階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術總結》。

希望本文所述對大家基於ThinkPHP框架的PHP程序設計有所幫助。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章