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缓存类使用总结 备注:三篇博文结合阅读,简单理解并且使用,如果想深入学习,请多参考文 ...
随机推荐
- 【HTTP协议】响应头中的Content-Length和Transfer-Encoding
来源: http://blog.csdn.net/superhosts/article/details/8737434 http://bbs.csdn.net/topics/390384017 对于h ...
- HDU 5795 A Simple Nim (博弈) ---2016杭电多校联合第六场
A Simple Nim Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Tota ...
- ava.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind (解决思路)
当我们在启动tomcat服务的时候报错信息:java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bin 分析:从错 ...
- lucene 搜索引擎使用案例
1.使用定时框架Quartz.Net创建索引库,引用类库文件有Common.Logging.dll.Lucene.Net.dll,PanGu.dll,PanGu.HighLight.dll,PanGu ...
- hdu 1242:Rescue(BFS广搜 + 优先队列)
Rescue Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Submis ...
- vijos 1037 ***
链接:点我 #include <cstdio> #include <cstring> #include <algorithm> #include <iostr ...
- hdu 4302 优先队列
进一步学习了优先队列的用法 题意:一只小动物在直线上走,起始位置为零,之后会出现食物,动物要去距离自己最短的食物那,若两边的食物距离相等,则选择之前走的方向的食物 0 x,代表x的位置出现了食物,1代 ...
- Sql语句里的递归查询(转)
原文摘自:http://blog.csdn.net/pdn2000/article/details/6674243 Sql语句里的递归查询 SqlServer2005和Oracle 两个版本 以前使用 ...
- loadrunner中定义数组
loadrunner 中数组的定义 loadrunner 中数组的定义: lr_save_string("www.google.com","website_1" ...
- Linux常用命令_(磁盘管理)
磁盘信息:df.du df命令–功能:检查文件系统的磁盘空间占用情况–语法:df [选项]–选项:-a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统.-k 以 ...