smarty中的cache_id问题
##########################################
function useCahe($cachPath="",$lifetime=0)
{
global $tpl,$config;
$tpl->caching = true; //设置缓存方式
$tpl->cache_dir = $config['webroot'].'/cache/'.$cachPath;
if($lifetime)
$tpl->cache_lifetime = -1 ; //永久有效
else
$tpl->cache_lifetime = $config['cacheTime'] ; //设置缓存时间
}
function useCahe($cachPath="",$lifetime=0)
{
global $tpl,$config;
$tpl->caching = true; //设置缓存方式
$tpl->cache_dir = $config['webroot'].'/cache/'.$cachPath;
if($lifetime)
$tpl->cache_lifetime = -1 ; //永久有效
else
$tpl->cache_lifetime = $config['cacheTime'] ; //设置缓存时间
}
useCahe("phone_netnum/",1);//useCahe是用来设定缓存的开启和目录,刷新时间等。
$flag=md5($dpid.$dcid.$config["temp"].$_GET["id"]); //由于有变量,所以需要指定cache_id
if(!$tpl->is_cached("phone_netnum_con.htm",$flag))//判断是否被缓存
{
$strSQL="SELECT AREANUM FROM ".PHONE." WHERE NETNUM='".$strNetNum."' AND (AREANUM>='".$start."' AND AREANUM<='".$end."')";
$db->query($strSQL);
$arrRe = $db->getRows();
$tpl -> assign("config",$config);
$tpl -> assign("strNetNum",$strNetNum);
$tpl -> assign("arrRe",$arrRe);
}
$tpl-> display("phone_netnum_con.htm",$flag);//*这里一定要带上$flag,找了两天的错误,终于顿悟
生成的缓存文件ef8446f35513a8d6aa2308357a268a7e^%%43^43F^43FF4FDF%%phone_netnum_con.htm
其中ef8446f35513a8d6aa2308357a268a7e是$flag,cache_id也在其中。