PHP 函数库

本篇主要介绍常用的PHP函数,此类函数既可以在控制器中使用也可以在模板中使用,但在前台模板中使用PHP语法必须用标签 {cscmsphp}{/cscmsphp} 包裹起来;举例:获取任意字段函数getzd,在模板中需写成{cscmsphp}getzd('user','name',1024,'id');{/cscmsphp};在后台模板中使用PHP语法可用标签 包裹起来;举例:获取任意字段函数getzd,写成<?=getzd('user','name',1024,'id')?>

PHP 常用函数

 获取任意字段:getzd($table,$ziduan,$id,$cha)

从数据库中获取任意字段信息,即获取数据表$table字段$cha的值等于$id的那条数据中字段$ziduan的值
例如:已知会员id等于1024,则查询会员名称,函数表示为getzd('user','name',1024,'id')

参数属性值备注
$table 数据表名 准备获取数据所在的表名称,必填项
$ziduan 字段名 该数据表中的字段名称
$id 查询条件字段的值 必填项
$cha 查询条件字段名称 可以留空,默认为id
返回值 查询字段值 存在为字符串类型,否则为null
//查询会员id=1024的会员的名称
getzd('user','name',1024);
getzd('user','name',1024,'id');
//查询会员名称为cscms的会员的昵称
getzd('user','nichen','cscms','name');

 判断是否关注对方:getgz($uid)

判断当前登陆会员是否关注过对方

参数属性值备注
$uid 会员id 对方会员的id
返回值 0、1 0:未关注,1:已关注
//假设查询是否关注会员cscms,会员cscms的ID为1024
getgz(1024);

 获取会员等级:getlevel($jinyans=0,$type=0)

回去会员的等级,情况一:获取等级数:如10,20,30;情况二:获取等级符号:如星星,月亮,太阳;情况三:获取达到下一个等级需要的经验值;情况四:获取达到下一个等级剩余的经验值;情况五:获取达到下一个等级的百分比;情况六:获取等级名称,如:初级,高级;

参数属性值备注
$jinyans 会员经验值 会员的经验值,会员表的jinyan字段
$type 获取结果类型 0:情况一;1:情况二;2:情况三;3:情况四;4:情况五;5:情况六
返回值 由对应情况决定
//假设会员cscms的经验值为1000,获取其等级数
getlevel(1000,0);
//假设会员cscms的经验值为1000,获取其星星数
getlevel(1000,1);
//假设会员cscms的经验值为1000,获取其达到下一个级别需要的经验值
getlevel(1000,3);

 获取随机颜色:random_color()

获取一个随机的颜色,如:#FFFFFF,#ABCDEF

random_color();

 获取数据总数:getcount($table='',$day=0)

获取某数据表最近N天新增的数据数量

参数属性值备注
$table 数据表 数据表名,如:dance,vod
$day 天数 最近多少天,如:最近7天
返回值 返回数量
//假设获取歌曲表dance最近一周新增的数据量
getcount('dance',7);

 前台页面返回信息:msg_url($title,$url,$time)

跳转一个提示页面

参数属性值备注
$title 页面提示信息 给用户的提示信息
$url 提示完成后要跳转的地址 不能为空
$time 停留的时间 单位毫秒,可以为空,默认值3000
//提示用户未登录,2秒后跳转到首页
msg_url('尚未登录','/',2000);

 获取token令牌:get_token($name,$s,$time)

获取或销毁一个令牌

参数属性值备注
$name 令牌标识 任意取名,如:userlogin,dance
$s 类型:0,1,2 0:写入token;1:判断token是否一致,2,:销毁token;可以为空,默认值为0
$time 因$s不同而不同 $s=0时,作为token有效时长,可以为空,默认为3600秒;$s=2时,作为比较的token值
返回值 true / false
//保存一个名为userreg的token
get_token('userreg');
//保存一个名为userreg的token,时长5分钟
get_token('userreg',0,3000);
//判断名为userreg的token值是否等于'tismytoken'
get_token('userreg',2,'tismytoken');
//销毁名为userreg的token
get_token('userreg',1);

 获取IP地址:getip()

获取当前用户的ip地址

getip();

 加载语言:L($key)

加载语言函数,自动根据语言版本获取不同的值

参数属性值备注
$key 语言键名 根据键名,不同语言版本不同
//假设英文版plub_01的键值为title,中文版为标题;当前设置为中文版则L('plub_01')的值为标题,当前设置为英文版则L('plub_01')的值为title
L('plub_01');

 写文件:write_file($path, $data, $mode)

将数据写入指定路径的文件中

参数属性值备注
$path 文件绝对路径 文件的绝对路径,不能为空
$data 文件内容 写入的内容,字符串类型,不能为空
$mode 文件的访问类型 参加PHP原生函数fopen的第二个参数mode
返回值 文件绝对路径 写入成功返回true,否则返回false

 递归创建文件夹:mkdirss($dir)

用递归的方式创建文件夹

参数属性值备注
$dir 文件绝对路径 文件的绝对路径,不能为空

 JSON数据:getjson($info,$error,$sign,$callback)

返回指定格式的JSON数据

参数属性值备注
$info 返回数据数组或字符串 可以为字符串也可以是数组
$error 标识 阿拉伯数字,默认为1
$sign 默认为0 1表示前台操作;0表示后台
$callback 默认为空 为方便传递callback参数
//其中info中的内容可自定义,在前台可用msg引用info的内容,即data.msg.url与data.info.url是等同的
{
    "error": 0
    ,"info": {
    '   url':''
    }
}