smarty生成的cache文件可以设置为平均分配在多个目录中吗?
就想PEAR里的Cache_Lite,可以设置缓存目录的层级,自动生成哈希目录 问题点数:20、回复次数:4Top
1 楼Gdj(陈水.智商只有129.非卖品)回复于 2006-03-07 15:50:00 得分 20
可以。将smarty的变量$use_sub_dirs=true;
然改caching_id就可以生成目录。比如caching_id="dir1|dir2|dir3"就生成了三级目录的cacheTop
2 楼iamwh()回复于 2006-03-07 16:58:35 得分 0
谢谢!Gdj(陈水.智商只有129.非卖品)
我试了一下,我设了$use_sub_dirs=true,生成的缓存文件就自动创建了2级目录:
cache/%%6C/6C0/6C04D25E%%login.htm
我要是再设 $smarty->display("login.htm","dir1|dir2|dir3");
就生成了 cache/dir1/dir2/dir3/%%6C/6C0/6C04D25E%%login.htm 这样的目录
可是前面三级目录是我指定的,能不能不去认为的管,只指定一个目录级数,让smarty自己生成目录结构?
还有smarty默认就是创建2级目录吗?可不可以指定创建n级目录?(其实和上面的问题一样)Top
3 楼iamwh()回复于 2006-03-07 19:26:23 得分 0
顶!Top
4 楼Gdj(陈水.智商只有129.非卖品)回复于 2006-03-20 09:07:12 得分 0
自动生成的那两级目录应该是用于循环冗余码校验。如果你有特殊需要,可自己修改smarty的源码去掉他们。但一般不建议这么做,因为它可以有效减少在php查找缓存所需的时间。
你说的指定创建n级目录的意思是什么我不清楚。你可以写一个函数,create_cache_id($n);来定制N级的cache_id。Top




