标签分类
技术文章
当前位置:主页 > 计算机编程 > php > TP5(thinkPHP框架)实现后台清除缓存功能示例

TP5实现后台清除缓存功能示例

  • 发布时间:
  • 作者:码农之家原创
  • 点击:172

TP5(thinkPHP框架)实现后台清除缓存功能示例

这篇文章主要知识点是关于TP5,thinkPHP框架,后台,清除缓存,TP5(thinkPHP框架)实现后台清除缓存功能示例,的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书

ThinkPHP实战
ThinkPHP实战原书超清版
  • 类型:ThinkPHP大小:28.5 MB格式:PDF出版:清华大学出版社作者:夏磊
立即下载

本文实例讲述了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框架的PHP程序设计有所帮助。

以上就是本次给大家分享的全部知识点内容总结,大家还可以在下方相关文章里找到详解vue axios封装请求状态、 spring+springmvc+mybatis整合注、 解决axios.interceptors.respon、 等php文章进一步学习,感谢大家的阅读和支持。

上一篇:ThinkPHP的SAE开发相关知识点总结

下一篇:thinkphp5框架实现的自定义扩展类操作方法

展开 +

收起 -

学习笔记
网友NO.149713

ThinkPHP框架中使用Memcached缓存数据的方法

本文实例讲述了ThinkPHP框架中使用Memcached缓存数据的方法。分享给大家供大家参考,具体如下: ThinkPHP默认使用文件缓存数据,支持Memcache等其他缓存方式,有两个PHP扩展:Memcache和Memcached,Memcahe官方有说明,主要说一下Memcached。 相对于PHP Memcache,php Memcached是基于原生的c的libmemcached的扩展,更加完善,建议替换为php memcached。 版本3.2.2开始内置了Memcached驱动( ThinkPHP/Library/Think/Cache/Driver/Memcached.class.php ),但是文档中并没有说明用法,通过查看源码配置并测试成功。 有个bug至今未修复,就是过期时间为0的问题,理论上应该是永久缓存,但是驱动中未做处理,会马上过期,set方法修改如下 public function set($name, $value, $expire = null) { N('cache_write',1); if(is_null($expire)) { $expire = $this-options['expire']; } $name = $this-options['prefix'].$name; if (empty($expire)) $time = 0; else $time = time() + $expire; if($this-handler-set($name, $value, $time)) { if($this-options['length']0) { // 记录缓存队列 $this-queue($name); } return true; } return false; } 在配置文件config.php中添加 //缓存配置 'DATA_CACHE_TYPE' = 'Memcached', 'MEMCACHED_SERVER' = array( array('127.0.0.1', 11211, 0) ), 驱动中是调用: Memcached::addServers(array) 可以添加多个缓存服务器 还有一个配置项是 MEMCACHED_LIB,调用的是: Memcached::setOptions(array) 具体选项可参……

网友NO.475979

ThinkPHP3.2.3框架Memcache缓存使用方法实例总结

本文实例讲述了ThinkPHP3.2.3框架Memcache缓存使用方法。分享给大家供大家参考,具体如下: 前面一篇文章讲述了Linux下安装Memcached服务器和客户端,这里来总结一下ThinkPHP3.2.3框架Memcache的使用方法。 方法一:原生Memcache的写法 public function test1() { $mc = new \Memcache(); //创建Memcache对象 $mc-connect("127.0.0.1", 11211); //连接Memcached服务器 $mc-set('test1','hello world',0,10); //存储数据 echo $mc-get('test'); //获取数据 $mc-delete('test'); //删除数据 $mc-flush(); //强制刷新全部缓存,即清空Memcached服务器 $mc-close(); //断开与Memcached服务器的连接} 方法二:直接调用集成好的Memcache缓存驱动 public function test2() { $mc = new \Think\Cache\Driver\Memcache(); //实例化Memcache驱动 $mc-set('test2','hello world',60); //写入缓存 echo $mc-get('test2'); //读取缓存 $mc-rm('test2'); //删除指定缓存 $mc-clear(); //清空全部缓存} 方法三:S方法 ①直接调用S方法 public function test3() { //缓存初始化 S(array( 'type'='memcache', //缓存类型 'host'='127.0.0.1', //Memcache服务器地址 'port'='11211', //Memcache端口号 'prefix'='think', //缓存标识前缀 'expire'=10,) //缓存有效期(时间为秒) ); //设置缓存 S('test3','hello world'); //可以改变缓存时间:S('test3','hello world',60); //读取缓存 echo S('test3'); //删除缓存 S('test3',null);} ②采用对象方式操作缓存 public funct……

<
1
>

Copyright 2018-2019 xz577.com 码农之家

版权责任说明