你现在的位置:首页 > PHP网站建设知识库 > Discuz > 正文

discuz常用函数说明

设置缓存 save_syscache('缓存名',缓存值) ; 同savecache($cachename,$data)相同
读取缓存 loadcache('myname');echo $_G['cache']['myname'];缓存存为$_G['cache']['myname']中
或者使用另一种方式读取缓存

require_once './source/class/class_core.php';//程序入口配置文件
$discuz = C::app();//实例化discuz_application类
$cachelist = array('magic','userapp','usergroups','diytemplatenamehome');
$discuz->cachelist = $cachelist;//装载缓存
$discuz->init();//配置整个应用
 
$myarray = array('name'=>'tongjh','body'=>'大家好呀');
savecache('myarray',$myarray);//设置缓存
loadcache('myarray');//装载缓存
debug($discuz->var['cache']['myarray']);//读取缓存

设置全局变量 setglobal('变量名','变量值','可选,设置变量的位置 用/来分隔,a/b/c 等于是设置$a['b']['c'] 下的全局变量') 
读取全局变量 getglobal('变量名','可选,读取多维变量的值 用/来分隔,a/b/c 等于是读取$a['b']['c'] 下的全局变量')

$myglobal = "hollow word";
setglobal('myglobal',$myglobal,'a/b/c');//设置全局变量,第三个参数为可选参数,表示全局变量的位置['a']['b']['c']
debug(getglobal('myglobal','a/b/c'));//输出全局变量

设置cookie  dsetcookie('cookie名','cookie值','cookie生存时间','路径','域名');
读取cookie getcookie('cookie名')

libfile('控制器路径','可选:所属文件夹')

function libfile($libname, $folder ='') {
    $libpath = '/source/'.$folder;
    if(strstr($libname,'/')) {//如果$libname参数有/就用explode切开,这里看来只允许一个/
        list($pre, $name) = explode('/', $libname);
        $path = "{$libpath}/{$pre}/{$pre}_{$name}";//很明显的路径
    } else{
        $path = "{$libpath}/{$libname}";//没有/时的路径
    }
    return preg_match('/^[\w\d\/_]+$/i', $path) ? realpath(DISCUZ_ROOT.$path.'.php') :false;//文件名只允许字母和数字
}
例子require libfile('home/mytest') 解析为 require /source/home/home_mytest.php
例子require libfile('home/mytest','class') 解析为require /source/class/home/home_mytest.php