ci文件缓存使用,可以用来实现多模板切换 改写URL辅助函数
//2015年2月28日15:13:41
$this->load->driver('cache', array('adapter' => 'file'));//加载适配器
//请注意,最好用新版本
$tpl='default';
$this->cache->file->save('template', $tpl, 999);
$this->cache->file->save('存的文件名或者叫ID', '存进去的值', '存在的时间');
//写一个竟可能大的时间可以表示无线
$template =$this->cache->get('template');//获取template的值
$this->cache->delete('template');//删除template的缓存文件
var_dump($this->cache->cache_info());//获取所有缓存的文件的详细信息
$this->cache->clean();//删除所有的缓存的文件
var_dump($this->cache->get_metadata('template'));//获取template的缓存的详细信息
也可以用来缓存微信缓存7200秒的key
a:3:{s:4:"time";i:1425107444;s:3:"ttl";i:999;s:4:"data";s:7:"default";}
其实思路是一样的
如果你不想写写缓存文件,不放心写入权限还有一个
自己写模板管理
很简单,在系统整个全局做一个tpl_url()函数,如何写,就直接扩展url_helper帮助类
MY_url_helper放在application的helper
在url_helper里面
加入
if ( ! function_exists('tpl_url'))
{
function tpl_url()
{
$CI= &get_instance();//获得超级对象
$CI->load->model('admin_model');//不能使用$this
$data=$CI->admin_model->list_check($table= 'configure');查询配置文件获得当前模板的views文件夹下面url,list_check是表所有数据的方法
$tpl_url = base_url().'application/views/'.$data['0']['web_tpl'].'/';
return $tpl_url;
}
}
list_check的方法在admin_model里面
public function list_check($table) {
$query = $this->db->get($table);
return $query->result_array();
}
这样在views里面的模板就直接可以<?php echo tpl_url()?>和base_url的使用方法一样,这样就可以简单的实现多模板切换的url根据不同模板url切换
这个使用起来有些像dedecms显示全局url的方法
ci文件缓存使用,可以用来实现多模板切换 改写URL辅助函数的更多相关文章
- 基于 CI 1.7.x 的 项目使用新版本CI的文件缓存类库
维护的项目使用的是 codeigniter 1.7.x版本,但是我想使用文件缓存,但是旧版本是没有缓存类库的,并且autoload.php没有drivers这个配置项. 我复制的是 Codeignit ...
- php使用文件缓存
使用php读取mysql中的数据很简单,数据量不大的时候,mysql的性能还是不错的.但是有些查询可能比较耗时,这时可以把查询出的结果,缓存起来,减轻mysql的查询压力. 缓存的方法有几种:使用me ...
- phpcms 源码分析五:文件缓存实现
这次是逆雪寒的文件缓存实现代码分析: /* [/php] PHPCMS的文本缓存实现: [php] <?php /* 这个文件里面全是有关生成文本缓存的函数.文本缓存是个好东西.一般的项目,我们 ...
- nilcms file类 简单文件缓存实现
实现简单的文件缓存,参照CI的部分设计,在这里记录一下子. class File { const CACHE_PATH = 'nil_file_cache'; /*其他函数省略了*/ /** * 获取 ...
- tornado下使用静态文件和文件缓存
静态文件和文件缓存 1.在应用配置 settings 中指定 static_path 选项来提供静态文件服务: 2.在应用配置 settings 中指定 static_url_prefix 选项来 ...
- Django中间件,CSRF(跨站请求伪造),缓存,信号,BootStrap(模板)-响应式(栅格)+模板
Django中间件,CSRF(跨站请求伪造),缓存,信号,BootStrap(模板)-响应式(栅格)+模板 1.中间件(重要): 在Django的setting中有个MIDDLEWARE列表,里面的东 ...
- Linux的文件系统及文件缓存知识点整理
Linux的文件系统 文件系统的特点 文件系统要有严格的组织形式,使得文件能够以块为单位进行存储. 文件系统中也要有索引区,用来方便查找一个文件分成的多个块都存放在了什么位置. 如果文件系统中有的文件 ...
- PHP文件缓存实现
有些时候,我们不希望使用redis等第三方缓存,使得系统依赖于其他服务.这时候,文件缓存会是一个不错的选择. 我们需要文件缓存实现哪些共更能: 功能实现:get.set.has.increment.d ...
- 高性能文件缓存key-value存储—Redis
1.高性能文件缓存key-value存储-Memcached 2.ASP.NET HttpRuntime.Cache缓存类使用总结 备注:三篇博文结合阅读,简单理解并且使用,如果想深入学习,请多参考文 ...
随机推荐
- hadoop机架感知
背景 分布式的集群通常包含非常多的机器,由于受到机架槽位和交换机网口的限制,通常大型的分布式集群都会跨好几个机架,由多个机架上的机器共同组成一个分布式集群.机架内的机器之间的网络速度通常都会高于跨机架 ...
- 批量update
参见http://lj.soft.blog.163.com/blog/static/7940248120109215191358/ 例子:update CarSeriesDetail set clic ...
- OneApm
cloudinsight-java-sdk https://github.com/cloudinsight
- 【Chrome】手动下载和安装Adblock Plus的方法
由于强大的GFW,导致很多Google的站点没法访问,也就没法直接安装chrome的插件了,网页都打不卡, 那么几乎是必备的Adblock Plus如何下载安装呢? 1.访问官方网站: https:/ ...
- Linux内核NAPI机制分析
转自:http://blog.chinaunix.net/uid-17150-id-2824051.html 简介:NAPI 是 Linux 上采用的一种提高网络处理效率的技术,它的核心概念就是不采用 ...
- hdu 4033 二分几何
参考:http://blog.csdn.net/libin56842/article/details/26618129 题意:给一个正多边形内点到其他顶点的距离(逆时针给出),求正多边形的边长 二分多 ...
- 【Tyvj】1473校门外的树3 线段树/树状数组 <区间修改+单点访问>
描述 校门外有很多树,有苹果树,香蕉树,有会扔石头的,有可以吃掉补充体力的……如今学校决定在某个时刻在某一段种上一种树,保证任一时刻不会出现两段相同种类的树,现有两个操作:K=1,读入l,r表示在l ...
- 框架模式 MVC 在Android中的使用
算来学习Android开发已有2年的历史了,在这2年的学习当中,基本掌握了Android的基础知识.越到后面的学习越感觉困难,一来是自认为android没啥可学的了(自认为的,其实还有很多知识科学), ...
- Linux常用命令_(安装包管理)
rpm命令: RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序” rpm -ivh rpm包安装rpm包rpm -Uvh rp ...
- Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数
Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数 7.4.4 为外部参数设置默认值 开发者也可以对外部参数设置默认值.这时,调用的时候,也可以省略参数传递本文选自Swift1 ...