php curl get post json xmlリクエストコミット
メモを取って、間違いがあって、大神の指導を望んで、多く討論して、多く伝言を残します!
arrayToXml($data);
}
$curl = curl_init();
if ($https) { // https , hosts
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSLVERSION, 1); //CURL_SSLVERSION_TLSv1
}
//
curl_setopt($curl, CURLOPT_TIMEOUT, $timeout);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);//
// header
curl_setopt($curl, CURLOPT_HEADER, false);
//
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
// post
curl_setopt($curl, CURLOPT_POST, true);
// curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($curl, CURLOPT_POSTFIELDS, $xml);
// curl
$response_data = curl_exec($curl);
$status = curl_getinfo($curl);
curl_close($curl);
if(intval($status["http_code"])==200){
return $response_data;
}else{
return false;
}
}
/**
* xml
* @param array $data
* @return bool|string
*/
public function arrayToXml($data=array()){
if(!is_array($data) || count($data) <= 0){
return false;
}
$xml = "";
foreach ($data as $key=>$val){
if (is_numeric($val)){
$xml.="".$val."".$key.">";
}else{
$xml.="".$key.">";
}
}
$xml.=" ";
return $xml;
}
/**
* xml json
* @param $xml
* @param bool $isFile
* @return bool|false|string
*/
public function xmlToString($xml,$isFile=false){
// xml
libxml_disable_entity_loader(true);
if($isFile){
if(!file_exists($xml)) return false;
$xmlStr = file_get_contents($xml);
}else{
$xmlStr = $xml;
}
$result= json_encode(simplexml_load_string($xmlStr, 'SimpleXMLElement', LIBXML_NOCDATA));
return $result;
}
}