thinkphp3.2 删除Runtime目录里的缓存文件,标记一下,以下好找。
2015-08-21 13:05
756 查看
操作如下: utility::clearCache("Data"); 或 utility::clearCache("Data-Logs");
class utility{ /** * 清除缓存 lhb_printf(get_defined_constants(true))-->打印出所有系统自定义常量; * @param string $cacheDir 要删除的缓存的目录,目录用"-"隔开 [如Temp-Data-Logs] */ static public function clearCache($cacheDir) { $type = $cacheDir; //将传递过来的值进行切割,我是已“-”进行切割的 $name = explode('-', $type); //得到切割的条数,便于下面循环 $count = count($name); //循环调用上面的方法 for ($i = 0; $i < $count; $i++) { //得到文件的绝对路径 $abs_dir = dirname(dirname(dirname(dirname(__FILE__)))); //组合路径 $pa = $abs_dir . str_replace("/", "\\", str_replace("./", "\\", RUNTIME_PATH)); //得到运行时的目录 $runtime = $pa . 'common~runtime.php'; if (file_exists($runtime))//判断 文件是否存在 { unlink($runtime); //进行文件删除 } //调用删除文件夹下所有文件的方法 $this->rmFile($pa, $name[$i]); } } /** * 删除文件和目录 * @param type $path 要删除文件夹路径 * @param type $fileName 要删除的目录名称 */ private 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) { $sub_file_path = $path . "\\" . $file; if ("." == $file || ".." == $file) { continue; } if (is_dir($sub_file_path)) { $this->rmFile($sub_file_path, ""); rmdir($sub_file_path); } //逐一进行删除 unlink($sub_file_path); } //关闭文件 closedir($dh); } rmdir($sub_file_path);//删除当前目录 } } }
相关文章推荐
- thinkphp3.2 删除Runtime目录里的缓存文件,标记一下,以下好找。
- php进行多个数组合并zip
- PHP的Yii框架的基本使用示例
- 大约laravel错误的解决方案
- 解决php中截取字符串的中文乱码问题
- php配置项-安全模式
- (一)PagerAdapter、FragmentPagerAdapter、FragmentStatePagerAdapter的区别
- PHP的serialize序列化数据与JSON格式化数据
- 8个与php相关的函数
- YII中使用SOAP一定要注意的一些东西
- php抓取远程数据排序
- 方便的格式化OutputDebugString输出函数
- thinkphp开发技巧经验分享
- 禁止FTP用户登录ssh,但是能正常登录FTP 或者 允许ftp用户ssh登录
- sphinx全文搜索Php方面的简单处理
- Yii框架数据库多数据库、主从、读写分离
- [php扩展的安装]sphinx扩展的安装
- PHP修改后无法立即生效
- Zend Studio 12.5.1 导入项目方法
- ThinkPHP微信开发实例——JSSDK图像接口上传下载并将图片流写入本地