php curl get post json xmlリクエストコミット

6934 ワード

メモを取って、間違いがあって、大神の指導を望んで、多く討論して、多く伝言を残します!
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;
    }

}