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

 

函数示例

  1. //查询会员id=1024的会员的名称
  2. getzd('user','name',1024);
  3. getzd('user','name',1024,'id');
  4. //查询会员名称为cscms的会员的昵称
  5. getzd('user','nichen','cscms','name');
  6.  

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

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

参数 属性值 备注
$uid 会员id 对方会员的id
返回值 0、1 0:未关注,1:已关注

 

函数示例

  1. //假设查询是否关注会员cscms,会员cscms的ID为1024
  2. getgz(1024);
  3.  

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

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

参数 属性值 备注
$jinyans 会员经验值 会员的经验值,会员表的jinyan字段
$type 获取结果类型 0:情况一;1:情况二;2:情况三;3:情况四;4:情况五;5:情况六
返回值 由对应情况决定  

 

函数示例

  1. //假设会员cscms的经验值为1000,获取其等级数
  2. getlevel(1000,0);
  3. //假设会员cscms的经验值为1000,获取其星星数
  4. getlevel(1000,1);
  5. //假设会员cscms的经验值为1000,获取其达到下一个级别需要的经验值
  6. getlevel(1000,3);
  7.  

 获取随机颜色:random_color()

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


 

函数示例

  1. random_color();
  2.  

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

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

参数 属性值 备注
$table 数据表 数据表名,如:dance,vod
$day 天数 最近多少天,如:最近7天
返回值 返回数量  

 

函数示例

  1. //假设获取歌曲表dance最近一周新增的数据量
  2. getcount('dance',7);
  3.  

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

跳转一个提示页面

参数 属性值 备注
$title 页面提示信息 给用户的提示信息
$url 提示完成后要跳转的地址 不能为空
$time 停留的时间 单位毫秒,可以为空,默认值3000

 

函数示例

  1. //提示用户未登录,2秒后跳转到首页
  2. msg_url('尚未登录','/',2000);
  3.  

 获取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  

 

函数示例

  1. //保存一个名为userreg的token
  2. get_token('userreg');
  3. //保存一个名为userreg的token,时长5分钟
  4. get_token('userreg',0,3000);
  5. //判断名为userreg的token值是否等于'tismytoken'
  6. get_token('userreg',2,'tismytoken');
  7. //销毁名为userreg的token
  8. get_token('userreg',1);
  9.  

 获取IP地址:getip()

获取当前用户的ip地址


 

函数示例

  1. getip();
  2.  

 加载语言:L($key)

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

参数 属性值 备注
$key 语言键名 根据键名,不同语言版本不同

 

函数示例

  1. //假设英文版plub_01的键值为title,中文版为标题;当前设置为中文版则L('plub_01')的值为标题,当前设置为英文版则L('plub_01')的值为title
  2. L('plub_01');
  3.  

 写文件: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参数

 

函数示例

  1. //其中info中的内容可自定义,在前台可用msg引用info的内容,即data.msg.url与data.info.url是等同的
  2. {
  3. "error": 0
  4. ,"info": {
  5. ' url':''
  6. }
  7. }
  8.