二次开发 自定义输出格式json/xml
软件和服务器通信过程中会使用到JSON/XML格式。
BSPHP完全支持二次开发自己的输出格式
BSPHP格式目录:include/applibapi/output
可以自行打开文件进行编辑修改,建议重命名不影响升级!
文件名:bsphp_josn.php
函数名字:bsphp_josn_bsphp_output
命明格式:
文件名:bsphp自己定名称.php
函数名字:bsphp自己定名称_bsphp_output
<?phpheader("Content-type: application/json; charset=utf-8");/*** 输出文件** * 文件名_bsphp_output(显示内容) 输出显示函数*//*** @输出给客户端mxl格式文件*/function bsphp_josn_bsphp_output($data, $code){$data = json_encode($data);$microtime = Plug_Execute_Time();$sginstr = str_replace('[KEY]',$data .PLUG_DATE() .PLUG_UNIX() .$microtime .Plug_Set_Data('appsafecode'),PLUG_DATA_TOSGIN());$key = PLUG_DATA_TOSGIN();$sgin_md5 = md5($sginstr);#签名调试记录日志Plug_Dbug_update("`to_sigm_key`='{$key}',`to_sigm_txt` = '{$sginstr}',`to_sigm_md5`='{$sgin_md5}' ");$json_array = array();$json_array['response']['data'] = $data; //数据内容$json_array['response']['code'] = $code; //数据内容编码代号$json_array['response']['SeSsL'] = session_id(); //session/BSphpSeSsL$json_array['response']['unix'] = PLUG_UNIX(); //系统时间$json_array['response']['date'] = PLUG_DATE(); //系统时间$json_array['response']['microtime'] = $microtime; //执行时间$json_array['response']['appsafecode'] = Plug_Set_Data('appsafecode'); //原样返回安全代码$json_array['response']['sgin'] = $sgin_md5; //签名$data = json_encode($json_array, JSON_UNESCAPED_UNICODE);return ($data);}
xml格式
<?php/*** 输出文件** * 文件名_bsphp_output(显示内容) 输出显示函数*//*** @输出给客户端mxl格式文件*/function bsphp_xml_bsphp_output($data, $code){if (is_array($data)) {//参数修改$code_array_php = '';foreach ($data as $param_value => $key) {$key = addslashes($key);$code_array_php .= "<$param_value>$key</$param_value>";}$data = $code_array_php;}$microtime = Plug_Execute_Time();$sginstr = str_replace('[KEY]', $data . PLUG_DATE() . PLUG_UNIX() . $microtime . Plug_Set_Data('appsafecode'), Plug_App_DaTa('app_tosgin'));$sgin_md5 = md5($sginstr);$str = iconv("UTF-8", "gbk//TRANSLIT", $sginstr);$sgin_md52 = md5($str);#签名调试记录日志$sgin_md5all = "Utf8:{$sgin_md5}/GBK:{$sgin_md52}";$key = Plug_App_DaTa('app_tosgin');Plug_Dbug_update("`to_sigm_key`='{$key}',`to_sigm_txt` = '{$sginstr}',`to_sigm_md5`='{$sgin_md5all}' ");$data = "<?xml version="1.0" encoding="utf-8"?><response><data>{$data}</data><code>{$code}</code><date>" . PLUG_DATE() . "</date><unix>" . PLUG_UNIX() . "</unix><microtime>" . $microtime . "</microtime><appsafecode>" . Plug_Set_Data('appsafecode') . "</appsafecode><sgin>" . $sgin_md5 . "</sgin><sgin2>" . $sgin_md52 . "</sgin2></response>";return ($data);}