PHP xml-rpc远程调用
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-05-25
) and XMLRPC_DEBUG){ XMLRPC_debug(''XMLRPC_request'', "<p>Returning:</p>\n\n" . XMLRPC_show($return, ''var_dump'', true)); } return $return; }else{ $return = array(true, XMLRPC_adjustValue($data[''methodResponse''][''params''][''param''][''value''])); if(defined(''XMLRPC_DEBUG'') and XMLRPC_DEBUG){ XMLRPC_debug(''XMLRPC_request'', "<p>Returning:</p>\n\n" . XMLRPC_show($return, ''var_dump'', true)); } return $return; } } } function XMLRPC_response($return_value, $server = NULL){ $data["methodResponse"]["params"]["param"]["value"] = $return_value; $return = XML_serialize($data); if(defined(''XMLRPC_DEBUG'') and XMLRPC_DEBUG){ XMLRPC_debug(''XMLRPC_response'', "<p>Received the following data to return:</p>\n\n" . XMLRPC_show($return_value, ''print_r'', true)); } header("Connection: close"); header("Content-Length: " . strlen($return)); header("Content-Type: text/xml"); header("Date: " . date("r")); if($server){ header("Server: $server"); } if(defined(''XMLRPC_DEBUG'') and XMLRPC_DEBUG){ XMLRPC_debug(''XMLRPC_response'', "<p>Sent the following response:</p>\n\n" . XMLRPC_show($return, ''print_r'', true)); } echo $return; } function XMLRPC_error($faultCode, $faultString, $server = NULL){ $array["methodResponse"]["fault"]["value"]["struct"]["member"] = array(); $temp = $array["methodResponse"]["fault"]["value"]["struct"]["member"]; $temp[0]["name"] = "faultCode"; $temp[0]["value"]["int"] = $faultCode; $temp[1]["name"] = "faultString"; $temp[1]["value"]["string"] = $faultString; $return = XML_serialize($array); header("Connection: close"); header("Content-Length: " . strlen($return)); header("Content-Type: text/xml"); header("Date: " . date("r")); if($server){ header("Server: $server"); } if(defined(''XMLRPC_DEBUG'') and XMLRPC_DEBUG){ XMLRPC_debug(''XMLRPC_error'', "<p>Sent the following error response:</p>\n\n" . XMLRPC_show($return, ''print_r'', true)); } echo $return; } function XMLRPC_convert_timestamp_to_iso8601($timestamp){ #takes a unix timestamp and converts it to iso8601 required by XMLRPC #an example iso8601 datetime is "20010822T03:14:33" return date("Ymd\TH:i:s", $timestamp); } function XMLRPC_convert_iso8601_to_timestamp($iso8601){ return strtotime($iso8601); } function count_numeric_items($array){ return is_array($array) ? count(array_filter(array_keys($array), ''is_numeric'')) : 0; } function XMLRPC_debug($function_name, $debug_message){ $GLOBALS[''XMLRPC_DEBUG_INFO''][] = array($function_name, $debug_message); } function XMLRPC_debug_print(){ if($GLOBALS[''XMLRPC_DEBUG_INFO'']){ echo "<table border=\"1\" width=\"100%\">\n"; foreach($GLOBALS[''XMLRPC_DEBUG_INFO''] as $debug){ echo "<tr><th style=\"vertical-align: top\">$debug[0]</th><td>$debug[1]</td></tr>\n"; } echo "</table>\n"; unset($GLOBALS[''XMLRPC_DEBUG_INFO'']); }else{ echo "<p>No debugging information available yet.</p>"; } } function XMLRPC_show($data, $func = "print_r", $return_str = false){ ob_start(); $func($data); $output = ob_get_con |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: PHP如何禁止图片文件的被盗链下一篇: PHP中使用FCKeditor2.3.2配置
关于PHP xml-rpc远程调用的所有评论