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