函数列表
Common.php
admin_role_check($z_role_list=[],$mca="",$type="") 后台权限
输入:$z_role_list=[],$mca="",$type=""
输出:admin_role_check($z_role_list,$mca,$type);
DEMO:

$z_role_list 为权限列表,$mca 为当前访问的控制器/方法,$type 为验证类型

.

get_admin_role($gid) 读取权限,并组成数组
输入:$gid
输出:值列表
DEMO:
$gid 为用户组id
get_role_value($id) 通过id,获取权限value(控制器/方法)
输入:$id
输出:值
DEMO:
$id 为权限id
file_format($str) 返回文件格式
输入:$str
输出:值 image/video/zip/text/other
DEMO:
$str 为文件名
parse_sql($sql = "", $limit = 0, $prefix = []) 解析sql语句
输入:$sql = "", $limit = 0, $prefix = []
输出:除去注释之后的sql语句数组或一条语句
DEMO:
$sql 为sql语句,$limit 为1,则只返回一条sql语句,默认返回所有,$prefix 替换表前缀
getDirInfo($dir, $f = "size") 计算整个目录文件大小/文件数量
输入:$dir, $f = "size"
输出:值
DEMO:
$dir 为目录路径,$f 为size/数量
getRealSize($size) 单位自动转换函数
输入:$size
输出:值*KB/MB/GB/TB
DEMO:
$size 为文件大小
get_pinyin($srt = "") 汉字转拼音
输入:$srt = ""
输出:值
DEMO:
$srt 为汉字
del_dir 递归删除目录和目录下所有文件
输入:$dir
输出:
DEMO:
$dir 为目录路径
color_txt($str) 彩虹字符串
输入:$str
输出:值
DEMO:
$str 为字符串
rand_color() 随机颜色
输入:
输出:值
DEMO:

isMobile() 判断是否是移动端
输入:
输出:值 true/false
DEMO:

check_email($email) 验证邮箱
输入:$email
输出:值 true/false
DEMO:

zf_joint_url($domain="",$url="") 判断url地址是否完整,不完整进行拼接
输入:$domain="",$url=""
输出:值 $url
DEMO:

dikaer($arr) 笛卡尔积以数组形式输出
输入:$arr
输出:$arr = array( array(2), array(6,7), array("a","b","c") );
DEMO:

dikaer_str 笛卡尔积以字符串形式输出
输入:$arr
输出:字符串,字符串,字符串
DEMO:

get_domain($http = true) 获取当前域名
输入:$http, true 返回http协议头,false 只返回域名
输出:值
DEMO:

zf_excel_export($head,$keys,$data,$name) 导出excel
输入:$head,$keys,$data,$name
输出:下载文件
DEMO:

extraconfig($arr = [], $file = "") 修改config扩展配置文件
输入:$arr = [], $file = ""
输出:bool
DEMO:

getControllers($dir) 获取某个目录下的php文件名的函数
输入:$dir
输出:数组
DEMO:

getActions($className, $base='\app\admin\controller\Admin') 获取某个控制器的方法名的函数
输入:$className, $base='\app\admin\controller\Admin'
输出:数组
DEMO:

https_post($url,$data,$aHeader=FALSE) 发起POST网络提交
输入:$url,$data,$aHeader=FALSE
输出:json
DEMO:
$data 为json格式
https_get($url,$aHeader=FALSE) 发起GET网络提交
输入:$url,$aHeader=FALSE
输出:json
DEMO:

jssuccess($msg, $url = 'back') 成功之后返回json
输入:$msg, $url = 'back'
输出:json msg,url,result
DEMO:

jserror($msg, $url = 'back') 失败之后返回json
输入:$msg, $url = 'back'
输出:json msg,url,result
DEMO:

ZFRetMsg($is,$success_msg,$error_msg) 返回json整合成功/失败
输入:$is,$success_msg,$error_msg
输出:json msg,url,result
DEMO:

array_to_object($arr) 数组转对象
输入:$arr
输出:对象
DEMO:

object_to_array($obj) 对象转数组
输入:$obj
输出:数组
DEMO:

logOutput($data,$filename="") 输出日志
输入:$data,$filename=""
输出:无
DEMO:
$filename 为空则默认为当天日期 2020-01-01.log
replaceimg($xstr, $oriweb,$param_src='src',$keyword='caiji') 获取替换文章中的图片路径
输入:$xstr 内容, $oriweb 网址,$param_src='src',$keyword='caiji' 创建照片的文件名
输出:字符串
DEMO:

rand_post_first_pic($content) 获取文章的第一个图片
输入:$content
输出:字符串 图片地址, 如果没有则返回默认图片
DEMO:

dd($msg) 打印数据
输入:$msg
输出:无
DEMO:

saveFileService($url, $save_dir = '', $filename = '', $type = 0) 保存文件到服务器
输入:$url, $save_dir = '', $filename = '', $type = 0
输出:数组 ['file_name'=>'文件名','save_path'=>'保存路径','file_size'=>'文件大小'] 失败返回false
DEMO:

admin_auth() 判断后台是否登录
输入:
输出:无
DEMO:
session('admin') 不存在则返回错误
zf_controller_func_fast($controller,$function,$parm=[]) 快速调用控制器方法
输入:$controller,$function,$parm=[]
输出: 无
DEMO:

zf_encrypt($data, $key='zf') 加密
输入:$data, $key='zf'
输出: 字符串
DEMO:

zf_decrypt 解密
输入:$data, $key='zf'
输出: 字符串
DEMO:

file_format_cn($file) 返回文件格式(附件类型)
输入:$file
输出: 字符串 1:文件、2:压缩包、3:图片、4:视频、5:音频、6、其他
DEMO:

isHTTPS() 判断是否HTTPS
输入:
输出: 布尔值
DEMO:

siteUrl($url = '', $vars = '', $weDoor = '') 生成url
输入:$url = '', $vars = '', $weDoor = ''
输出: url($url,$vars,$weDoor)
DEMO:

str_replace_limit 对字符串执行指定次数替换
输入:$search, $replace, $subject, $limit=-1
输出: 字符串
DEMO:
$search 查找目标值,$replace 替换值,$subject 执行替换的字符串/数组,$limit 允许替换的次数,默认为-1,不限次数
get_location 返回重定向后的地址
输入:$url,$ua=0
输出: 字符串
DEMO:

or_url 判断是否为链接
输入:$url
输出: 布尔值
DEMO:

pingAddress ping 地址
输入:$address
输出: 布尔值
DEMO:

zf_rand_str 获取指定长度的随机字符串
输入:$length=8
输出: 字符串
DEMO:

toUnderScore 驼峰转下划线
输入:$str
输出: 字符串
DEMO:

toCamelCase 下划线命名到驼峰命名
输入:$str
输出: 字符串
DEMO:

doZfAction 执行钩子
输入:$name,$params
输出: 无
DEMO:

judgepassword 判断密码重点级别
输入:$code
输出: 字符串 弱/中等/强/极强
DEMO:

get_theme_config 获取模板data数据
输入:$theme_name
输出: 数组
DEMO:

get_plugin_config_db 获取模板data数据(保存到数据库)
输入:$plugin_name,$type='',$tag=''
输出: 数组
DEMO:

save_plugin_config_db 保存模板data数据(保存到数据库)
输入:$arr = [], $plugin_name='',$type='',$tag=''
输出: 布尔值
DEMO:

zf_wjt_rule 伪静态规则(20230908暂停使用)
输入:$url='',$type=''
输出: 字符串
DEMO:

get_url 获取当前url
输入:
输出: 字符串
DEMO:
获取当前url
zf_jump_error 错误跳转
输入:$msg,$path
输出: 无 echo $msg;echo "<a href='/'>返回上一级</a>";
DEMO:
20220610新增
is_weixin 判断是否为微信浏览器
输入:
输出: 布尔值
DEMO:

is_top_menu_cur 判断是否为顶部菜单
输入:$vo=[],$_two_menu=[],$menu_type='',$cid=''
输出: 布尔值
DEMO:

isset_arr_key 判断数组是否有某一个键,没有则返回默认值
输入:$arr,$key,$default=''
输出: 值
DEMO:

jsonPro 返回消息
输入:$data,$msg,$code=1,$url='',$version='',$encry=0
输出: 无
DEMO:
20220722新增,20230217 新增version字段,20230830 新增字段encry 是否加密
aes_encrypt 加密
输入:$data,$key='1234567887654321',$iv='1234567887654321'
输出: 字符串
DEMO:
key秘钥必须为:8/16/32位
aes_decrypt 解密
输入:$data,$key='1234567887654321',$iv='1234567887654321'
输出: 字符串
DEMO:
key秘钥必须为:8/16/32位
is_ie_browser 判断是否为ie浏览器
输入:
输出: 布尔值
DEMO:
20220812 新增
route_home 前台路由
输入:$type,$router,$controller,$menu_type=''
输出: 无
DEMO:

html_out_par 去除html标签,并截取指定长度
输入:$str,$num
输出: 字符串
DEMO:
20220927新增
msubstr 字符串截取,支持中文和其他编码
输入:$str, $start=0, $length, $suffix=true,$showall=0, $charset="utf-8"
输出: 字符串
DEMO:

env_edit 修改env文件
输入:$arr = ['app_debug'=>'true']
输出: 布尔值
DEMO:
20221115新增 修改env文件 只支持一级
get_mimetype 根据文件后缀获取其mine类型
输入:$extension
输出: 字符串
DEMO:
20221118新增
check_illegal 检测上传图片是否包含有非法代码
输入:$image
输出: 布尔值
DEMO:

logOutputAddons addons自定义输出日志
输入:$plugin_name='',$data=[],$state='',$save_log_tag='',$filename=''
输出: 无
DEMO:
20230217新增 $plugin_name='' 插件名 $data=[] 数据 $state='' 状态(success/fail/自定义) $save_log_tag='' log/后的自定义文件夹,避免被他人恶意通过http获取数据 $filename='' 保存的文件名,如果为空则根据规则生成
is_str_find 字符串在另一个字符串中是否含有
输入:$str 全值,$find_str搜索值
输出: 布尔值
DEMO:
20230227新增
send_email 发送邮件
输入:$address,$email_content=[],$debug=0
输出: 字符串 ok/错误信息
DEMO:
20230328新增
num_compute 高精度计算加减乘除
输入:$num1,$type='+',$num2,$jd=2
输出: 字符串
DEMO:
20230228新增
zf_runtime 输出当前程序运行所用的时间
输入:$type,$starttime=[]
输出: 无
DEMO:
20230414新增 $type=start/end $starttime=开始时间数组
$starttime = zf_runtime("start");
......
zf_runtime("end",$starttime);
zf_to_site_url 跳转到自己设置的站点
输入:
输出: 无
DEMO:
20230426新增
不填写http或https ------> //dev.zfcmsx2.90ckm.com/bbs_cate/4.html
填写http后面加了/ ------> http://dev.zfcmsx2.90ckm.com/bbs_cate/4.html
填写http后面没加/ ------> http://dev.zfcmsx2.90ckm.com/bbs_cate/4.html

当前链接 http://dev2.zfcmsx2.90ckm.com ----> 跳转到https://dev2.zfcmsx2.90ckm.com
plugin_update_check_show 检测插件模板是否一致
输入:
输出: 数组[插件,模板]
DEMO:
20230510新增
is_really_writable 判断文件或文件夹是否可写
输入:$file
输出: 布尔值
DEMO:
20230511新增
create_uuid 创建uuid
输入:
输出: 字符串
DEMO:
20230517新增
widget_st 组件引用
输入:$name='',$type='widget'
输出: 字符串
DEMO:
20230824新增
{:widget_st('layui','css')}
{:widget_st('admin','css')}
{:widget_st('jq','js')}
{:widget_st('laydate','js')}
{:widget_st('webuploader')}
{:widget_st('layui','js')}
{:widget_st('common','js')}
{:widget_st('ueditor')}
{:widget_st('bootstrap')}
{:widget_st('input-tag')}

deal_post_message 处理加密数据,返回原始数组
输入:$data
输出: 数组
DEMO:
20230829新增
jsonProJm 加密返回
输入:$arr,$msg='',$code='',$url = '',$version='',$encry=0
输出: json
DEMO:
20230829新增 20230830新增字段$url ,$version,$encry
send_notice 发送通知
输入:$data=[],$send_type=""
输出:
DEMO:
20230919
change_meta_data 转换模板的meta key数据


DEMO:
20231018
update_meta_data 更新meta_data中的某个数据中的某个字段


DEMO:
20231018
get_meta_data 读取meta_data中的某个数据中的某个字段


DEMO:
20231018
deal_meta_data_add 后台中meta数据处理-新增


DEMO:
20231018
deal_meta_data_edit 后台中meta数据处理-修改


DEMO:
20231018
http_request_code 请求http,判断是否状态code


DEMO:
20231031新增
str_show_tpl 字段显示模板


DEMO:
20231106新增
seo_tpl seo模板


DEMO:
20231107新增
meta_url_route meta自定义DIY路由链接


DEMO:

20231114新增

Common_db.php 数据库操作
ZFTB($tb) 返回表类
输入:$tb
输出: Db::name($tb);
DEMO:
$tb 为表名
ZFJoinStrLang($str)
输入:$str
输出: $str
DEMO:
$str 为字符串
get_cate_content($cid,$tb="category") 查询栏目内容
输入:$cid,$tb="category"
输出:ZFTB($tb)->where("cid",$cid)->value("content");
DEMO:
$cid 为栏目cid,$tb 为表名
get_cate_summary($cid,$tb="category") 查询栏目简介
输入:$cid,$tb="category"
输出:ZFTB($tb)->where("cid",$cid)->value("summary");
DEMO:
$cid 为栏目cid,$tb 为表名
get_cate_res($cid,$tb="category") 查询栏目信息
输入:$cid,$tb="category"
输出:ZFTB($tb)->where("cid",$cid)->find(); 如果不存在返回false
DEMO:
$cid 为栏目cid,$tb 为表名
get_cate_list($cid,$tb="category") 查询子栏目列表
输入:$cid,$tb="category"
输出:ZFTB($tb)->where(["pid"=>$cid,"status"=>1])->order("sort asc")->select();
DEMO:
$cid 为栏目cid,$tb 为表名,获取子栏目的列表
post_info($id) 查询文章名称
输入:$id
输出:ZFTB("post")->where(["status"=>1,"id"=>$id])->order("id desc")->find();
DEMO:
$id 为文章id
user_name($id) 查询用户名字
输入:$id
输出:ZFTB("user")->where(["id"=>$id])->value("name");
DEMO:
$id 为用户id ,如果不存在返回false
get_order_goods_list($oid,$limit="4") 查询订单商品列表
输入:$oid,$limit="4"
输出:ZFTB("order_goods")->where("oid",$oid)->limit($limit)->order("id asc")->select();
DEMO:
$oid 为订单id,$limit 为限制数量
get_post_res($id) 查询文章信息
输入:$id
输出:ZFTB("post")->field("title,append,pic,id,price")->where("id",$id)->find();
DEMO:
$id 为文章id
get_post_name($id) 查询文章名称
输入:$id
输出:ZFTB("post")->where(["status"=>1,"id"=>$id])->order("id desc")->find();
DEMO:
$id 为文章id,当id=-1时返回"全部"
get_post_list($cid,$limit=10,$tb="post",$recommend="",$child="",$cate_tb="",$like="",$order="",$lang="") 查询文章列表
输入:$cid,$limit=10,$tb="post",$recommend="",$child="",$cate_tb="",$like="",$order="",$lang=""
输出:ZFTB($tb." p")->join($cate_tb." c","p.cid=c.cid")->field("c.*,p.*")->where($where)->limit($limit)->order($order)->select();
DEMO:
$cid 为栏目cid,$limit 为限制数量(默认10),$tb 为表名,$recommend 为推荐(不为空则推荐),$child 为是否包含子栏目(为空则当前栏目查询),$cate_tb 为栏目表名(为空默认category),$like 为模糊查询(为空则不使用),$order 为排序(为空则p.sort desc,p.id desc,否则根据写的格式),$lang 为语言
get_special_list($tb="special",$limit=10,$lang="") 查询专题列表
输入:$tb="special",$limit=10,$lang=""
输出:ZFTB($tb)->where(["status"=>1,"lang"=>$lang])->order("id desc")->limit($limit)->select();
DEMO:
$tb 为表名,$limit 为限制数量(默认10),$lang 为语言
get_tag_list($tb="tag",$limit=10,$lang="") 查询标签列表
输入:$tb="tag",$limit=10,$lang=""
输出:ZFTB($tb)->where(["status"=>1,"lang"=>$lang])->order("id desc")->limit($limit)->select();
DEMO:
$tb 为表名,$limit 为限制数量(默认10),$lang 为语言
get_links_list($tb="link",$limit=10,$lang="") 查询友情链接列表
输入:$tb="link",$limit=10,$lang=""
输出:ZFTB($tb)->where(["status"=>1,"lang"=>$lang])->order("id desc")->limit($limit)->select();
DEMO:
$tb 为表名,$limit 为限制数量(默认10),$lang 为语言
get_menu_list($pid="",$menu_pid="0",$tb="") 查询菜单列表
输入:$pid="",$menu_pid="0",$tb=""
输出:db($tb)->where($where)->order("sort asc,id asc")->select();
DEMO:
$pid 为菜单id或者tag,$menu_pid 为菜单父id(为空则查询顶级菜单),$tb 为表名(为空默认menu)
get_child_id($pid = 0,$cate_tb="", $condition = "1=1 and status=1") 查询子栏目id
输入:$pid = 0,$cate_tb="", $condition = "1=1 and status=1"
输出:implode(",", $child_cid);
DEMO:
$pid 为栏目id,$cate_tb 为表名(为空默认category),$condition 为查询条件
m_name($id,$tb="category_model") 通过模型id查询模型名称
输入:$id,$tb="category_model"
输出:ZFTB($tb)->where("id",$id)->value("name");
DEMO:
$id 为模型id,$tb 为表名(为空默认category_model)
r_name($id) 通过权限id查询权限名称
输入:$id
输出:ZFTB("admin_role")->where("id",$id)->value("name");
DEMO:
$id 为权限id
user_group_name 通过用户组id查询用户组名称
输入:$id
输出:ZFTB("user_group")->where("id",$id)->value("name");
DEMO:
$id 为用户组id
get_cate_name($cate_tb,$id) 通过栏目id查询栏目名称
输入:$cate_tb,$id
输出:ZFTB($cate_tb)->where("cid",$id)->value("name");
DEMO:
$cate_tb 为表名,$id 为栏目id
get_post_number($cate_tb,$id,$t_cid="cid",$lang="") 通过栏目id查询栏目下的文章数量
输入:$cate_tb,$id,$t_cid="cid",$lang=""
输出:ZFTB($cate_tb)->where([["cid","=",$id],["status","<>",9],["lang","=",$lang]])->count();
DEMO:
$cate_tb 为表名,$id 为栏目id,$t_cid 为查询字段(为空默认cid),$lang 为语言
get_two_menu($id,$tb="admin_role") 查询子菜单
输入:$id,$tb="admin_role"
输出:ZFTB($tb)->where([["pid","=",$id],["menu","=",1],["status","<>",9]])->order("sort asc")->select();
DEMO:
$id 为菜单id,$tb 为表名(为空默认admin_role)
post_list_all($lang="") 查询所有的文章
输入:$lang=""
输出:ZFTB("post")->where([["status","=",1],["lang","=",$lang]])->order("id desc")->select();
DEMO:
$lang 为语言
post_name($id) 查询文章名称
输入:$id
输出:ZFTB("post")->where(["status"=>1,"id"=>$id])->order("id desc")->value("title");
DEMO:
$id 为文章id
get_admin_group_name($id) 通过id查询管理员的分类名
输入:$id
输出:ZFTB("admin_group")->where("id",$id)->value("name");
DEMO:
$id 为管理员id
if_pid($cid) 判断该栏目是否有子类
输入:$cid
输出:ZFTB("category")->where([["pid","=",$cid],["status","<>",9]])->find();
DEMO:
$cid 为栏目id 返回true或者false
get_adv_list($tag,$tb="",$limit="",$lang="") 根据tag获取广告
输入:$tag,$tb="",$limit="",$lang=""
输出:db($tb)->where(["status"=>1,"tag"=>$tag,"lang"=>$lang])->find();
DEMO:
$tag 为广告标识,$tb 为表名(为空默认advert),$limit 为限制数量(为空则不限制),$lang 为语言
ZFC($key="",$type="db",$ret_type="") 获取配置
输入:$key="",$type="db",$ret_type=""
输出:ZFTB("config")->where(["key"=>$key])->value("value");
DEMO:
$key 为配置key,
20230908新增$type="db",$ret_type=""
$type 为类型(为空默认db file),$ret_type 为返回类型(为空默认字符串)
ZFTBExist($tb) 判断表是否存在
输入:$tb
输出:DB()->query("SHOW TABLES LIKE '".$table."'");
DEMO:
$tb 为表名 返回true或者false
model_val($id) 通过模型id查询模型参数值
输入:$id
输出:ZFTB("category_model_parm")->where(["status"=>1,"id"=>$id])->order("id desc")->value("value");
DEMO:
$id 为模型id
user_oauth_res($uid,$type="") 通过用户id查询用户第三方信息
输入:$uid,$type=""
输出:ZFTB("user_oauth")->where(["uid"=>$uid,"status"=>1,"type"=>$type])->order("id desc")->find();
DEMO:
$uid 为用户id,$type 为类型(为空则查询所有)
save_admin_log 保存系统/后台日志


DEMO:
230919新增
save_exception 报错异常处理


DEMO:
230919新增
save_admin_login 后台登录记录


DEMO:
230919新增