function postXML($url, $xmlData){ $header[] = "Content-type: text/xml"; //定义content-type为xml,注意是数组 $ch = curl_init ($url); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch,
function postXML($url, $xmlData){
$header[] = "Content-type: text/xml"; //定义content-type为xml,注意是数组
$ch = curl_init ($url);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xmlData);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);//超时设置30s
$response = curl_exec($ch);
curl_close($ch);
return $response;
}
function getXML(){
$postStr = $GLOBALS['HTTP_RAW_POST_DATA'];
return empty($postStr) ? array() : xml_to_array($postStr);
}
function array_to_xml($arr, $dom=0, $item=0, $root='root'){
if (!$dom){
$dom = new DOMDocument("1.0");
}
if(!$item){
$item = $dom->createElement($root);
$dom->appendChild($item);
}
foreach ($arr as $key=>$val){
$itemx = $dom->createElement(is_string($key)?$key:"item");
$item->appendChild($itemx);
if (!is_array($val)){
$text = $dom->createTextNode($val);
$itemx->appendChild($text);
}else {
array_to_xml($val,$dom,$itemx);
}
}
return $dom->saveXML();
}
function xml_to_array($xml){
$array = (array)(simplexml_load_string ($xml));
foreach ($array as $key => $item){
$array[$key] = struct_to_array ((array)$item);
}
return $array;
}
function struct_to_array($item){
if (!is_string($item)) {
$item = (array)$item;
foreach($item as $key => $val){
$item [$key] = struct_to_array ($val);
}
}
return $item;
}
function sub_str($str, $length = 0){
$str = trim($str);
$strlength = strlen($str);
if ($length == 0 || $length >= $strlength){
return $str; //截取长度等于0或大于等于本字符串的长度,返回字符串本身
}
elseif ($length < 0) { //如果截取长度为负数
$length = $strlength + $length;//那么截取长度就等于字符串长度减去截取长度
if ($length < 0){
$length = $strlength;//如果截取长度的绝对值大于字符串本身长度,则截取长度取字符串本身的长度
}
}
if (function_exists('mb_substr')){
$newstr = mb_substr($str, 0, $length, EC_CHARSET);
}
elseif (function_exists('iconv_substr')){
$newstr = iconv_substr($str, 0, $length, EC_CHARSET);
}
else{
//$newstr = trim_right(substr($str, 0, $length));
$newstr = substr($str, 0, $length);
}
return $newstr;
}
