thinkphp文件处理类Dir.class.php的用法分析


Posted in PHP onDecember 08, 2014

本文实例分析了thinkphp文件处理类Dir.class.php的用法。分享给大家供大家参考。具体分析如下:

在我的WBlog中,有个清除缓存工能,所谓清除缓存就是删除程序运行时生成的缓存文件,这些文件全部都存在项目的Runtime文件夹里面,当时在做这个清除缓存的程序时使用项目函数库自定义的一个函数来删除缓存文件,只能整个地删除Runtime,太粗糙了,我觉得有必要作一下细分删除,其实thinkphp扩展类库有个不错的文件处理类Dir.class.php,Dir.class.php类,不是每个thinkphp版本都有,如果你所下载的版本没有,可以从其它版本去找,现在来说一下Dir.class.php的应用.

Dir.class.php是一个文件处理类,用它可以:

1、取得目录下面的文件信息

2、删除目录或文件

由于我要完善WBlog缓存清除功能,这里我只写了上面的第2个功能,至于第1个功能我将做模板文个修改功能时再写,下面是我在清除缓存的控制器定义的一个del()方法:

public function del(){        

    $type=trim($_GET['type']);     

    if(emptyempty($type)) $this->error('请选择缓存类型!');     

             

        switch($type) {     

        case 1:// 全部清空                  

             $path   =   WEB_PATH.'Runtime';     

            break;     

        case 2:// 文件缓存目录     

            $path   =   WEB_PATH.'Runtime/Temp';     

            break;     

        case 3://  数据目录     

            $path   =   WEB_PATH.'Runtime/Data/_fields';     

             break;     

        case 4://  模板文件缓存     

             $path  =  WEB_PATH.'Runtime/Cache';     

            break;     

        case 5:// 清空全部后台缓存                  

             $path   =   APP_PATH.'Runtime';     

            break;     

        case 6:// 后台文件缓存目录     

            $path   =   APP_PATH.'Runtime/Temp';     

            break;     

        case 7://  后台数据目录     

            $path   =   APP_PATH.'Runtime/Data/_fields';     

             break;     

        case 8://  模板文件缓存     

             $path  =  APP_PATH.'Runtime/Cache';     

            break;     

        }     

            

         import("@.ORG.Dir");//加载Dir.class.php类(我放在后台项目里)

             

    if(!Dir::isEmpty($path)){//静态调用Dir.class.php的isEmpty()     

     Dir::del($path);     

              

     $this->success();     

     }else{      

    $this->error('已清空!');     

    }     

}

说明:

import("@.ORG.Dir") --加载Dir.class.php类(我放在后台项目里)

Dir::isEmpty($path)--静态调用Dir.class.php的isEmpty()

Dir::del($path);--静态调用Dir.class.php的del()方法.

上面在使用类时,我使用了静态调用方法,这省去了实例化的麻烦.

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
提取HTML标签
Oct 09 PHP
投票管理程序
Oct 09 PHP
一个简易需要注册的留言版程序
Oct 09 PHP
PHP的开发框架的现状和展望
Mar 16 PHP
php 多线程上下文中安全写文件实现代码
Dec 28 PHP
php使用GeoIP库实例
Jun 27 PHP
php实现过滤表单提交中html标签的方法
Oct 17 PHP
支付宝接口开发集成支付环境小结
Mar 17 PHP
php实现通用的信用卡验证类
Mar 24 PHP
详解WordPress开发中get_header()获取头部函数的用法
Jan 08 PHP
PHP网站自动化配置的实现方法(必看)
May 27 PHP
PHP文件管理之实现网盘及压缩包的功能操作
Sep 20 PHP
php中adodbzip类实例
Dec 08 #PHP
php中Array2xml类实现数组转化成XML实例
Dec 08 #PHP
PHP内存缓存Memcached类实例
Dec 08 #PHP
thinkphp实现上一篇与下一篇的方法
Dec 08 #PHP
PHP模块memcached使用指南
Dec 08 #PHP
PHP原生函数一定好吗?
Dec 08 #PHP
thinkphp中ajax与php响应过程详解
Dec 08 #PHP
You might like
PHP中实现中文字串截取无乱码的解决方法
2018/05/29 PHP
PHP高并发和大流量解决方案整理
2019/12/24 PHP
070823更新的一个[消息提示框]组件 兼容ie7
2007/08/29 Javascript
js 全兼容可高亮二级缓冲折叠菜单
2010/06/04 Javascript
JavaScript 操作table,可以新增行和列并且隔一行换背景色代码分享
2013/07/05 Javascript
获取3个数组不重复的值的具体实现
2013/12/30 Javascript
解决WordPress使用CDN后博文无法评论的错误
2015/12/15 Javascript
Bootstrap每天必学之折叠
2016/04/12 Javascript
字符串反转_JavaScript
2016/04/28 Javascript
Node.js 使用jade模板引擎的示例
2018/05/11 Javascript
浅谈Angular6的服务和依赖注入
2018/06/27 Javascript
vue中动态设置meta标签和title标签的方法
2018/07/11 Javascript
微信小程序车牌号码模拟键盘输入功能的实现代码
2018/11/11 Javascript
vue 源码解析之虚拟Dom-render
2019/08/26 Javascript
jquery css实现流程进度条
2020/03/26 jQuery
[02:32]DOTA2英雄基础教程 祸乱之源
2013/12/23 DOTA
Python字符串匹配算法KMP实例
2015/07/18 Python
Python 3中的yield from语法详解
2017/01/18 Python
python中Pycharm 输出中文或打印中文乱码现象的解决办法
2017/06/16 Python
Flask之flask-script模块使用
2018/07/26 Python
对Python闭包与延迟绑定的方法详解
2019/01/07 Python
python版DDOS攻击脚本
2019/06/12 Python
python删除文件夹下相同文件和无法打开的图片
2019/07/16 Python
PyTorch: 梯度下降及反向传播的实例详解
2019/08/20 Python
Python可变参数会自动填充前面的默认同名参数实例
2019/11/18 Python
Python-openpyxl表格读取写入的案例详解
2020/11/02 Python
python中类与对象之间的关系详解
2020/12/16 Python
Farah官方网站:男士服装及配件
2019/11/01 全球购物
经典c++面试题四
2015/05/14 面试题
写给老婆的检讨书
2014/02/21 职场文书
潘婷洗发水广告词
2014/03/14 职场文书
结婚通知短信大全
2015/04/17 职场文书
企业愿景口号
2015/12/25 职场文书
Python使用OpenCV和K-Means聚类对毕业照进行图像分割
2021/06/11 Python
springBoot基于webSocket实现扫码登录
2021/06/22 Java/Android
vue数据字典取键值项目的字典问题
2022/04/12 Vue.js