jiekay
2015-01-28 20:10:17
php仿照asp实现application缓存的代码分享
php 怎么没有asp 那样的application缓存呢?最近我找了很多,都只有自己写,下面我分享一段代码哦
class php_cache{ //相对或者绝对目录,末尾不要加 '/' var $cache_dir = './cache'; var $cache_extension = '.cache.php'; function set_cache($name, $value){ $pre = "< ?\n//Cache Created at: ".date('Y-m-d H:i:s')."\n"; if(!is_array($value)){ $value = $value; $str = "\$$name = '$value';"; }else{ $str = "\$$name = " . $this->arrayeval($value) . ';'; } $end = "\n?>"; echo $cache = $pre . $str . $end; $cache_file = $this->cache_dir . '/' . $name . $this->cache_extension; if($fp = @fopen($cache_file, 'wb')) { fwrite($fp, $cache); fclose($fp); return true; } else { echo $cache_file; exit('Can not write to cache files, please check cache directory '); return false; } } //将array变成字符串, 来自discuz! function arrayeval($array, $level = 0) { if(!is_array($array)) { return "'".$array."'"; } $space = ''; for($i = 0; $i < = $level; $i++) { $space .= "\t"; } $evaluate = "Array\n$space(\n"; $comma = $space; if(is_array($array)) { foreach($array as $key => $val) { $key = is_string($key) ? '\''.addcslashes($key, '\'\\').'\'' : $key; $val = !is_array($val) && (!preg_match("/^\-?[1-9]\d*$/", $val) || strlen($val) > 12) ? '\''.addcslashes($val, '\'\\').'\'' : $val; if(is_array($val)) { $evaluate .= "$comma$key => ".arrayeval($val, $level + 1); } else { $evaluate .= "$comma$key => $val"; } $comma = ",\n$space"; } } $evaluate .= "\n$space)"; return $evaluate; } }
调用代码如下:
include './phpcache_class.php'; $pc = new php_cache; $a = array('a', 'b', 'c'); $pc->set_cache('a', addslashes($a));
猜你喜欢
请下载代码后再发表评论
相关代码
- php分页公共类
- 原 php原生代码制作的交易日历(动态+ajax版本)mysql数据支持
- 原精 基于php开发昆山即魅化妆品公司网上商城系统,包括后台管理
- php对base62进行解码的方法
- PHP post&get参数安全过滤类
- 原 PHP像素拼图,牛哥是一枚自称设计师的程序员!
- 原精 php基于mysql数据库开发时间轴记录系统
- php代码实现情人节自动生成表白程序源代码下载
- php项目后台管理系统WSS下载
- php开源项目管理系统EasyWork
- 原 基于easyui+weui的电脑+手机端php用户增删改查
- 原 php+bootstrap+phpexcel集成示例程序,适合新手学习php语言
最近下载
最近浏览
somexi
8月23日
暂无贡献等级
xuthus LV1
2023年6月13日
秋月常 LV1
2023年4月11日
a197304a
2023年1月8日
暂无贡献等级
xzpqza LV2
2022年11月9日
cgfeng12345 LV10
2022年10月24日
Shaw_sm LV1
2022年6月1日
2953048281 LV2
2022年4月13日
xiaoming788955
2022年4月11日
暂无贡献等级
zzz957 LV2
2022年4月6日